modrewrite-Problem
Christian W
- webserver
0 Ulrich0 Christian W0 Ulrich
hiho,
ich versuche grad n bissl was bezüglich mod_rewrite und möchte letztendlich folgendes erreichen:
www.adresse.tld/blablubb soll zu
www.adresse.tld/index.php?page=blablubb werden...
damit sieht meine erste zeile erstmal so aus:
RewriteRule ^(.+)$ index.php?page=$1
so, nun soll das ganze ja z.b. nicht anspringen, wenn die index.php aufgerufen wird, wenn der ordner images aufgerufen wird, genauso wenig wie bei der design.css oder der favicon.ico.
also hab ich angefangen mit rewritecond rumzubasteln, rausgekommen ist folgendes:
RewriteCond %{REQUEST_FILENAME} ^.*[^index.php]$
RewriteCond %{REQUEST_FILENAME} ^.*[^design.css]$
RewriteCond %{REQUEST_FILENAME} ^.*[^images]/.*$
RewriteCond %{REQUEST_FILENAME} ^.*[^favicon.ico]$
RewriteRule ^(.+)$ index.php?page=$1
soweit, so gut, funktioniert auch - bis auf einzelne seiten, wie z.b.
www.adresse.tld/home
www.adresse.tld/wir_ueber_uns
www.adresse.tld/wirueberuns
-> dort kommt ein fehler 404, der rutscht also durch das teil durch. und zwar genau dann, wenn mindestens eine rewritecond da steht - wenn ich die cond's rausnehme werden auch diese seiten mit erfasst..
hat jemand ne ahnung worans liegt?
grüßle
Moin,
hat jemand ne ahnung worans liegt?
Nein, aber warum machst Du es nicht einfacher? Zum Beispiel:
# Wenn sich die Anfrage nicht auf eine Datei (!-f) oder einen Ordner (!-d) bezieht
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
# dann folgende Regel:
RewriteRule ^(.*)$ /index.php?page=$1 [L]
nähere Informationen findest du auf dieser Webseite, die recht gut erklärt, wie mod_rewrite funktioniert.
mit freundlichen Grüßen
Ulrich
Nein, aber warum machst Du es nicht einfacher?
Wahrscheinlich, weil ich nicht wirklich nen Plan davon habe ;)
Wenn sich die Anfrage nicht auf eine Datei (!-f) oder einen Ordner (!-d) bezieht
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-ddann folgende Regel:
RewriteRule ^(.*)$ /index.php?page=$1 [L]
Vielen Dank für die Lösung!!
grüßle
Moin,
Nein, aber warum machst Du es nicht einfacher?
Wahrscheinlich, weil ich nicht wirklich nen Plan davon habe ;)
Dem solltest Du begegnen, indem Du obigen Link folgst, und den Weg zur Lösung nachvollziehst ;-)
mit freundlichen Grüßen
Ulrich