Frage

Ich habe folgendes Umschreiben URL:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs 
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]

Jetzt möchte ich eine Ausnahme hinzuzufügen, dass, wenn die URL so etwas wie mysite.com/abc ist, sollte es ignorieren und alles, was in ihm auch. mysite.com/abc/dfgs sollte auch von diesem Umschreiben ausgeschlossen werden.

Wie kann ich das erreichen?

War es hilfreich?

Lösung

Wenn / abc ein existierendes Verzeichnis ist, können Sie eine weitere .htaccess-Datei in dort setzen mit

RewriteEngine Off  

Wenn es wirklich nur eine Zeichenfolge, die Sie wollen nicht neu schreiben (ob es existiert oder nicht)

RewriteCond %{REQUEST_URI} !^/abc  

wird nicht neu schreiben, wenn der angeforderte Pfad mit „/ abc“ beginnt

Rewrite-Regeln zu testen, ohne die Website für regelmäßigen Browser durcheinander (nicht, dass Sie in einer Live-Umgebung natürlich bearbeiten werden sollen, das ist rein hypothetisch :-)), die ich gefunden habe folgende sehr hilfreich:

RewriteCond %{REMOTE_ADDR} 12.34.56.78 # <-- where that's your IP address  

Andere Tipps

Dies sollte Umschreiben vermeiden, wenn die URI abc enthält. Dies kann oder möglicherweise nicht genau, was Sie wollen. Wenn es Ihre Frage nicht bearbeiten.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#Rewrite ONLY if the REQUEST does NOT contain abc
RewriteCond %{REQUEST_URI} !abc

# Rewrite all other URLs 
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top