htaccess nur bestimmte Dateien rewriten

Dieses Thema im Forum "Web- & File-Services" wurde erstellt von bitmuncher, 21.05.2008.

  1. #1 bitmuncher, 21.05.2008
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Ich habe hier ein kleines Problem mit dem Rewriten von URLs via htaccess.

    Ich habe zwei Rewrite-Regeln, die ansich auch funktionieren:

    Code:
    RewriteRule ^js/w/ _direct/w.php%{REQUEST_URI}
    RewriteRule ^js/tokstaIm/ _direct/tokstaim.php%{REQUEST_URI}
    
    Zusätzlich soll aber alles andere auf index.php umgeleitet werden. Also dachte ich, dass ich einfach an's Ende ein

    Code:
    RewriteRule .* index.php
    schreiben kann. Leider greifen dann aber die ersten beiden Regeln nicht mehr. Auch

    Code:
    RewriteRule ^js/w/ _direct/w.php%{REQUEST_URI}
    RewriteRule ^js/tokstaIm/ _direct/tokstaim.php%{REQUEST_URI}
    RewriteCond %{REQUEST_FILENAME} !^js/w/ [OR]
    RewriteCond %{REQUEST_FILENAME} !^js/tokstaIm/
    RewriteRule .* index.php
    
    funktioniert nicht.

    Was kann ich also tun, damit alles auf index.php umgeleitet wird, aber die anderen beiden Regeln trotzdem greifen?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 saeckereier, 22.05.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Ich habe ehrlich gesagt keine Lust nachzugucken, aber ich machs trotzdem mal:
    d.h. die dritte Regel trifft auf alles zu, was vorher von den ersten beiden umgeleitet wurde, wird ebenso wie alles andere auf index.php umgeleitet. Lies dir einfach die Doku von RewriteRule durch, du wirst einfach ein paar der Flags verwenden müssen. Ein Beispiel ist folgendes:
    Code:
    RewriteRule ^js/w/ _direct/w.php%{REQUEST_URI} [S=2]
    RewriteRule ^js/tokstaIm/ _direct/tokstaim.php%{REQUEST_URI} [S=1]
    RewriteRule .* index.php
    
    oder 
    
    RewriteRule ^js/w/ _direct/w.php%{REQUEST_URI} [S=1]
    RewriteRule .* index.php
    
    RewriteRule ^js/tokstaIm/ _direct/tokstaim.php%{REQUEST_URI} [S=1]
    RewriteRule .* index.php
     
    EDIT: Getestet ist das natürlich nicht...
     
  4. #3 bitmuncher, 22.05.2008
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Damit funktionierte es auch nicht. Die Lösung sieht so aus:

    Code:
    RewriteRule ^js/w/ _direct/w.php%{REQUEST_URI}
    RewriteRule ^js/tokstaIm/ _direct/tokstaim.php%{REQUEST_URI}
    
    RewriteCond %{REQUEST_FILENAME} !(.*)js/w
    RewriteCond %{REQUEST_FILENAME} !(.*)js/tokstaIm
    RewriteRule .* index.php
    
     
  5. .mike.

    .mike. Doppel-As

    Dabei seit:
    27.08.2006
    Beiträge:
    207
    Zustimmungen:
    0
    vielleicht geht's ja auch so:

    Code:
    RewriteRule .* index.php
    
    RewriteRule ^js/w/ _direct/w.php%{REQUEST_URI}
    RewriteRule ^js/tokstaIm/ _direct/tokstaim.php%{REQUEST_URI}
    
    also einfach deine dritte rewriterule an den anfang und von den andern dann teilweise überschreiben lassen

    kA obs funktioniert...
     
  6. #5 bitmuncher, 22.05.2008
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Hatten wir auch schon probiert. Funktionierte so auch nicht. Aber jetzt geht's ja. :)

    Server-Last wurde mit diesen Rewrites und dem Auslagern der Skripte aus dem Zend-Framework auf ca. 1/4 gesenkt. Ziel erreicht. :)
     
  7. #6 saeckereier, 22.05.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Hmm, merkwürdig, ich kann mir nicht vorstellen warum das dann nicht lief.. Schade dass ich nicht mehr helfen konnte...
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

htaccess nur bestimmte Dateien rewriten

Die Seite wird geladen...

htaccess nur bestimmte Dateien rewriten - Ähnliche Themen

  1. htaccess, Weiterleitung mit www und ohne www

    htaccess, Weiterleitung mit www und ohne www: Hallo zusammen, wie richtet man eine Weiterleitung einer alten Domain auf eine neue Domain, aber auch mit der Option ohne „www“ in der URL, dh...
  2. Domainabhängiger .htaccess-Zugriffsschutz, nur ein Doc-Root

    Domainabhängiger .htaccess-Zugriffsschutz, nur ein Doc-Root: Hi, ich habe gerade folgendes Problem und über Google soweit aber noch nix gefunden: Ich habe ein Wurzelverzeichnis, auf das mehrere Domains...
  3. .htaccess mit Apache 2.2.9 funktionier nicht???

    .htaccess mit Apache 2.2.9 funktionier nicht???: Hi, habe versucht Webinhalte mit .htaccess zu schützen. Aber Apache 2.2.9 zieht Dateien nicht an. Wo muss ich noch Einträge bei Apache...
  4. .htaccess - Frage zu geschütztem Verzeichnis

    .htaccess - Frage zu geschütztem Verzeichnis: Hallo Community, ist mein erster Post und ich hoffe er ist nicht gleich in der falschen Kategorie hier. :) Ich habe folgende Frage. Ich...
  5. htaccess - Nur das Directory Listing passwortgeschützt?

    htaccess - Nur das Directory Listing passwortgeschützt?: Hallo, Ich bin in diesem Bereich relativ schlecht informiert und mir wurde empfohlen hier nachzufragen. Ich habe eine simple Funpic-Webspace...