Verzeichnisse ausnehmen bei rewrite-Regeln
Posted: 2005-10-10 20:15
Hallo alle zusammen,
ich bin verzweifeln, denn ich habe alles versucht. Google war mein treuester Freund gestern abend und den kompletten Nachmittag am heutigen Tag. :-(
Problem: Ich moechte, dass
http://www.domain.tld/seite.html
in
http://www.domain.tld/index.php?page=seite
umschreiben lassen um suchmaschinenfreundliche URLs zu erhalten.
Dies klappt auch sehr gut, ich kann nicht klagen.
Nun sollen aber die noch existierenden ca. 10 Unterverzeichnisse ausgenommen werden. Beispielsweise das Unterverzeichnis "gfx" oder "tmp". Im ersteren Verzeichnis liegen beispielsweise Bilder ohne jegliche Index-Files. Beim Zugriff auf dieses Verzeichnis ohne Dateiangabe soll einfach wie bisher eine Fehlermeldung erscheinen (Indexes ist deaktiviert).
Leider klappt eben dies nicht, da auch hier die index.php aus dem Hauptverzeichnis geladen wird. Witzigerweise gibt es da auch unterschiedliches Verhalten. Im Webalizer-Dir, wo eine index.html existiert, wird diese auch teilweise geladen anstatt der index.php im Hauptverzeichnis.
Hier die Regeln, die ich in den VHost in der httpd.conf eingebaut habe:
Dies ist die Regel, die an sich wie gewuenscht laeuft (leider eben auch in beliebigen Unterverzeichnissen):
RewriteRule ^/?(.*).html$ /index.php?page=$1 [L]
Davor habe ich schon diverse Regeln eingebaut (immer nur eine Regel gleichzeitig), hier einige Beispiele:
RewriteRule !^(.*)gfx(.*)$ - [C]
RewriteCond {REQUEST_URI} !^gfx/$ [NC]
RewriteCond {REQUEST_FILENAME} !^gfx/$ [NC]
RewriteCond %1 !(/gfx/|/tmp/)
RewriteCond %1 !.*/gfx/.*
RewriteRule ^/?(.*)gfx.* - [L]
Bin ratlos und hoffe auf etwas Rewrite-DAU-Hilfe von Euch... ;-)
Vielen Dank,
Roi
ich bin verzweifeln, denn ich habe alles versucht. Google war mein treuester Freund gestern abend und den kompletten Nachmittag am heutigen Tag. :-(
Problem: Ich moechte, dass
http://www.domain.tld/seite.html
in
http://www.domain.tld/index.php?page=seite
umschreiben lassen um suchmaschinenfreundliche URLs zu erhalten.
Dies klappt auch sehr gut, ich kann nicht klagen.
Nun sollen aber die noch existierenden ca. 10 Unterverzeichnisse ausgenommen werden. Beispielsweise das Unterverzeichnis "gfx" oder "tmp". Im ersteren Verzeichnis liegen beispielsweise Bilder ohne jegliche Index-Files. Beim Zugriff auf dieses Verzeichnis ohne Dateiangabe soll einfach wie bisher eine Fehlermeldung erscheinen (Indexes ist deaktiviert).
Leider klappt eben dies nicht, da auch hier die index.php aus dem Hauptverzeichnis geladen wird. Witzigerweise gibt es da auch unterschiedliches Verhalten. Im Webalizer-Dir, wo eine index.html existiert, wird diese auch teilweise geladen anstatt der index.php im Hauptverzeichnis.
Hier die Regeln, die ich in den VHost in der httpd.conf eingebaut habe:
Dies ist die Regel, die an sich wie gewuenscht laeuft (leider eben auch in beliebigen Unterverzeichnissen):
RewriteRule ^/?(.*).html$ /index.php?page=$1 [L]
Davor habe ich schon diverse Regeln eingebaut (immer nur eine Regel gleichzeitig), hier einige Beispiele:
RewriteRule !^(.*)gfx(.*)$ - [C]
RewriteCond {REQUEST_URI} !^gfx/$ [NC]
RewriteCond {REQUEST_FILENAME} !^gfx/$ [NC]
RewriteCond %1 !(/gfx/|/tmp/)
RewriteCond %1 !.*/gfx/.*
RewriteRule ^/?(.*)gfx.* - [L]
Bin ratlos und hoffe auf etwas Rewrite-DAU-Hilfe von Euch... ;-)
Vielen Dank,
Roi