Frage

Wenn ich mod_rewrite verwenden, um alle meine 301-Weiterleitungen, geschieht dies, bevor Sie meine Seite serviert wird?also, wenn ich habe auch eine Reihe von redirect-Regeln in ein php-Skript, das ausgeführt wird, die auf meine Seite werden die .htaccess-kick in der ersten?

War es hilfreich?

Lösung

Wenn eine Anfrage an die von der .htaccess-Datei betroffen URI gemacht wird, dann wird Apache alle Rewrite-Regeln behandeln, bevor alle Ihre PHP-Code ausgeführt wird.

Andere Tipps

Die .htaccess-kick in der ersten.Wenn Sie einen Blick auf die Apache-request-Zyklus:

Apache Request Cycle

PHP ist eine Antwort-handler.mod_rewrite läuft bei URI übersetzung, außer für die rewrite-Regeln in der .htaccess und <Directory> oder <Location> Blöcke, die in der Korrektur-phase.Dies ist, weil Apache nicht wissen, in welchem Verzeichnis es ist in (und damit die <Directory> oder .htaccess zu Lesen), bis nach URI übersetzung.

In Reaktion auf zu gabriel1836 Frage über das Bild, ich packte es aus der zweiten Folie diese Präsentation aber es ist Zitat aus dem Buch: Schreiben von Apache-Modulen mit Perl und C die ich sehr empfehlen kann.

Ja, die .htaccess-Datei analysiert, bevor das Skript bedient wird.

.htaccess geschieht zuerst.

.htaccess wird vom Webserver gesteuert. Diese Datei wird im Konto, bevor Sie Ihre PHP-Datei entnommen werden.

Zum Beispiel könnten Sie den Zugriff auf einen bestimmten Ordner mit Ihrer .htaccess-Datei beschränken. Also, es hat vor Ihrer PHP verantwortlich sein nehmen.

Hope, das hilft.

Die .htaccess wird von Apache vor der PHP-Skriptausführung ausgeführt. (Man stelle sich, wenn das PHP-Skript ausgeführt wird, und dann die .htaccess eine Umleitung auf eine andere Seite machen ...).

Sie können jederzeit testen diese mit dem folgenden Befehl:

wget -S --spider http://yourdomain.com

Mit diesem Befehl können Sie das sehen, wer auf Ihre Anfrage antworten.

Wie alle anderen erwähnt, .htaccess ist zuerst.

Also im Grunde die .htaccess mehr oder weniger erfordert den entsprechenden PHP-Code oder Dateien, wie sie in der .htaccess nach den Regeln festgelegt, was bedeutet, .htaccess ersten ausgeführt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top