Question

Si j'utilise mod_rewrite pour contrôler toutes mes redirections 301, cela se produit-il avant que ma page ne soit affichée? Donc, si j’ai également quelques règles de redirection dans un script php qui s’exécute sur ma page, le fichier .htaccess sera-t-il le premier?

Était-ce utile?

La solution

Lorsqu'une demande est adressée à l'URI affecté par le fichier .htaccess, Apache gérera toutes les règles de réécriture avant que votre code PHP ne s'exécute.

Autres conseils

Le fichier .htaccess démarrera en premier. Si vous regardez le cycle de demande Apache:

Cycle de demande Apache

PHP est un gestionnaire de réponses. mod_rewrite exécute la traduction d'URI, à l'exception des règles de réécriture dans .htaccess et < Directory > ou < Location > blocs qui fonctionnent dans la phase de réparation. En effet, Apache ne sait pas dans quel répertoire il se trouve (et donc quel & Lt; Répertoire & Gt; ou .htaccess à lire) avant la traduction de l'URI.

En réponse à la question de gabriel1836 sur l'image, je l'ai extraite de la deuxième diapositive de cette présentation , mais elle provient du livre: Écriture de modules Apache en Perl et C que je recommande fortement.

Oui, le fichier .htaccess est analysé avant que votre script ne soit servi.

.htaccess arrive en premier.

htaccess est contrôlé par le serveur Web. Ce fichier sera pris en compte avant votre fichier PHP.

Par exemple, vous pouvez restreindre l'accès à un dossier particulier avec votre fichier htaccess. Donc, il doit être pris en charge avant votre PHP.

J'espère que cela vous aidera.

Le .htaccess est effectué par Apache avant l’exécution du script php. (imaginez si le script php est exécuté et que le .htaccess effectue une redirection vers une autre page ...).

Vous pouvez toujours tester cela avec la commande suivante:

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

Avec cette commande, vous voyez qui répond à votre demande.

Comme tous les autres mentionnés, .htaccess est premier.

Donc, en gros, le .htaccess plus ou moins nécessite le code ou les fichiers PHP pertinents, conformément aux règles spécifiées dans le <=>, ce qui signifie que <=> est exécuté en premier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top