Engelein: .htaccess überschreibt reale Datei

Beitrag lesen

Ich möchte dass die Änderung nur bei mittweide.php greit, das aber bei z.B. test_mittweide.php die real existierende Datei auf dem Server verwendet wird.

Dazu sollte die Regel nur angewendet werden, wenn die angeforderte Datei nicht existiert:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule mittweida.php test.php [L]

  
Wenn sie nur bei mittweida.php greifen soll, dann geht das noch kürzer und schneller:  
  
RewriteRule ^mittweida\.php$ test.php [L]  
  
Der eigentliche Fehler im Original war also, dass zwar ein festes Ende vorgesehen war ($), aber kein fester Anfang (^).  
  
Vor RewriteRule in einer .htaccess sollte übrigens immer eine RewriteBase-Zeile stehen, die die URL zum jeweiligen Verzeichnis angibt, und sei es nur "RewriteBase /".