RewriteEngine On in <IfModule mod_rewrite.c> jedes mal?
Frage ich mich, ob ich mit RewriteEngine On nur einmal in meiner htaccess, wenn es die Einbettung in IfModule mod_rewrite.c oder muss ich es jedes mal weil ist es eingebettet?
Siehe Beispiel unten. Dank
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} /?author [NC]
RewriteRule .* - [F]
</ifModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} g= [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Sie sollten auch vermeiden, mehrere
RewriteBase
Richtlinien. Während es nicht ein Fehler generiert, es ist unzulässig, mehr als eine in einem .htaccess-Datei. Der Letzte gewinnt und steuert das ganze .htaccess-Datei. In dieser Datei sieht es sowieso unnötig - AFAIK ist es nur erforderlich, wenn Sie den relativen Pfad Ersetzungen in der RewriteRule
Richtlinie.
InformationsquelleAutor WendiT | 2013-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage sein, eine einzelne prüfen, um alle Ihre code umgeschrieben werden.
Vermute ich aus deinem code, die Website, die Sie arbeiten werden, funktionieren NICHT richtig oder überhaupt mod_rewrite ist nicht aktiviert. In solchen Fällen würde ich weglassen, die Prüfungen für das mod_rewrite komplett und lassen Sie den webserver scheitern, wenn es nicht aktiviert ist.
Sollten Sie einmal in eine situation, in der Ihr code ist installiert auf einem webserver ohne mod_rewrite wird es viel einfacher zu Debuggen und zu lokalisieren genau das problem.
InformationsquelleAutor Michael Banzon