Ich verwende folgde rule in der .htaccess
RewriteCond %{REQUEST_URI} mittweida.php(.*)$
RewriteRule mittweida.php(.*)$ test.php [L]Soweit sao gut.
Nee.
- Die RewriteCond-Zeile ist restlos überflüssig. Du prüfst bereits mit RewriteRule, ob die URL mittweida.php enthält, dann musst du das nicht nochmal mit RewriteCond wiederholen.
- Den Punkt vorm "php" möchtest du doch sicher als Punkt erkannt haben. Also maskiere ihn, damit er nicht seine normale Funktion als Platzhalter übernimmt: "mittweida.php".
- Wenn du nichts aus dem Muster übernehmen möchtest, musst du auch keine runden Klammern setzen.
- .*$ kannst du genauso gut gänzlich weglassen, denn "irgendwas und Ende" ist dasselbe wie "offenes Ende".
Ergo:
RewriteRule mittweida.php test.php [L]
Nun verlinke ich auch auf eine real existierende Datei test_mittweida.php
Hier greift die htaccess und obwohl die Datei test_mittweida.php existiert werde ich auf test.php geleitet.
mod_rewrite arbeitet mit URLs und kümmert sich nicht darum, ob irgendwas auf dem Server existiert oder nicht (jedenfalls nicht ohne Aufforderung).
Wie kann ich das lösen?
Wie möchtest du es lösen? Möchtest du, dass die Änderung nur bei nicht existierenden Dateien greift? Oder möchtest du, dass die Änderung nur bei mittweida.php greift?