Ich würde gerne alle URLs auf neu schreiben test.php
auf meiner Website zu zeigen index.php?page=test
stattdessen (wo "test" durch irgendein anderes Wort ersetzt werden kann). Dies scheint korrekt zu funktionieren.
Allerdings möchte ich auch alle Anfragen neu schreiben test/testpage.php
deuten auf index.php?page=test/testpage
stattdessen. Aber mit meinem aktuellen .htaccess scheint das nicht zu funktionieren. Ich bekomme stattdessen einen 404 Fehler.
Meine .htaccess Datei ist wie folgt:
RewriteEngine On
RewriteRule ^([^/?]*).php$ index.php?page=$1 [L,QSA]
Antworten:
1 für die Antwort № 1Einfach das Regex-Muster optimieren:
RewriteEngine On
RewriteRule ^(.+).php$ index.php?page=$1 [L,QSA,NC]
.+
passt jedes Zeichen 1 oder mehrmals an.