Pregunta

Si uso mod_rewrite para controlar todos mis redireccionamientos 301, ¿sucede esto antes de que se publique mi página? así que si también tengo un montón de reglas de redireccionamiento en un script php que se ejecuta en mi página, ¿se iniciará el .htaccess primero?

¿Fue útil?

Solución

Cuando se realiza una solicitud al URI afectado por el archivo .htaccess, Apache se encargará de las reglas de reescritura antes de que se ejecute el código PHP.

Otros consejos

El .htaccess se activará primero. Si observa el ciclo de solicitud de Apache:

Ciclo de solicitud de Apache

PHP es un manejador de respuestas. mod_rewrite se ejecuta en la traducción URI, a excepción de las reglas de reescritura en .htaccess y < Directory > o < Ubicación > bloques que se ejecutan en la fase de reparación. Esto se debe a que Apache no sabe en qué directorio está (y, por lo tanto, qué & Lt; Directory & Gt; o .htaccess to read) hasta después de la traducción del URI.

En respuesta a la pregunta de gabriel1836 sobre la imagen, la tomé de la segunda diapositiva de esta presentación pero es originalmente del libro: Escribir módulos de Apache en Perl y C que recomiendo encarecidamente.

Sí, el archivo .htaccess se analiza antes de que se sirva el script.

.htaccess ocurre primero.

htaccess es controlado por el servidor web. Este archivo se tendrá en cuenta antes que su archivo PHP.

Por ejemplo, podría restringir el acceso a una carpeta particular con su archivo htaccess. Por lo tanto, debe hacerse cargo antes de su PHP.

Espero que esto ayude.

Apache realiza el .htaccess antes de la ejecución del script php. (imagine si se ejecuta el script php y luego el .htaccess realiza una redirección a otra página ...).

Siempre puedes probar esto con el siguiente comando:

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

Con este comando, verá quién responde a su solicitud.

Como todos los demás mencionaron, .htaccess es lo primero.

Entonces, básicamente, el .htaccess más o menos requiere el código o los archivos PHP relevantes, de acuerdo con las reglas especificadas en el <=>, lo que significa que <=> se ejecuta primero.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top