Ich bin gerade dabei meine URLs in eine Form ohne dateiendung zu bringen (Die PHP Dokumente)
z.B. wird /{index} auf index.php?page=index geleitet
Nun soll aber die RewriteRule
Die letzte sein. Wie oben zu sehen ist, verwende ich die L-Flag. Auf modrewrite.de steht zu dieser Flag:
[quote]Last | Bearbeitung abschliessen, keine weiteren Regeln anwenden. [/quote]Verstehe ich das nun falsch, wenn ich davon ausgehe, dass alle nachfolgenden Rules ignoriert werden?
Weiter unten habe ich nun die RewriteRule
Da die error.php nicht existiert, kommt nun bei mir die standard-apache-404 Fehlermeldung.
Wieso?
Nee, geht leider beides nicht, was ich jetzt hab sieht so aus:
RewriteEngine On
RewriteRule ^\{([a-z]*)\}$ index.php?t=static&p=$1 [NC,QSA,L]
RewriteRule ^\{([a-z]*);([a-z]*)\}$ index.php?t=$1&p=$2 [NC,QSA,L]
RewriteRule ^(.*)\.php$ error.php [NC]
Da kommt wie gesagt der 404 Error…
Die nachfolgenden Regeln werden nicht mehr abgearbeitet - in diesem Rewriting-Durchgang.
Wenn man Rewriting per .htaccess konfiguriert, ist es aber prinzipbedingt so, dass jeder umgeschriebene Request anschliessend erneut durch die Bearbeitung geschickt wird (so, als wäre er ein gerade neu hereingekommener Request).
Und wenn da deine Regel, bei der du das L-Flag gesetzt hast, nicht mehr zur Anwendung kommt - dann haben die nachfolgenden Regeln ihren Auftritt.