Si uso mod_rewrite para controlar todos mis redireccionamientos 301, ¿esto sucede antes de que se sirva mi página? Entonces, si también tengo un montón de reglas de redireccionamiento en un script php que se ejecuta en mi página, ¿el .htaccess entrará en funcionamiento primero?¿Qué pasa primero? .htaccess o código php?
Respuesta
Cuando se realiza una solicitud al URI afectado por el archivo .htaccess, Apache manejará las reglas de reescritura antes de que se ejecute cualquiera de sus códigos PHP.
Sí, el archivo .htaccess se analiza antes de que se sirva el script.
.htaccess sucede primero.
htaccess es controlado por el servidor web. Este archivo se tomará en cuenta antes de su archivo PHP.
Por ejemplo, puede restringir el acceso a una carpeta en particular con su archivo htaccess. Por lo tanto, tiene que hacerse cargo antes de su PHP.
Espero que esto ayude.
El .htaccess lo realiza Apache antes de ejecutar el script php. (imagínese si el script php se ejecuta y luego el .htaccess hace una redirección a otra página ...).
The .htaccess se lanzará en primer lugar. Si nos fijamos en el ciclo de petición de Apache:
Apache Request Cycle http://stein.cshl.org/~lstein/talks/perl_conference/apache_api/requestcycle.gif
PHP es un manejador de respuesta. mod_rewrite se ejecuta en la traducción URI, excepto las reglas de reescritura en .htaccess y <Directorio> o < Ubicación > bloques que se ejecutan en la fase de reparación. Esto se debe a que Apache no sabe en qué directorio se encuentra (y por lo tanto qué directorio < > o .htaccess para leer) hasta después de la traducción de URI.
En respuesta a la pregunta de gabriel1836 sobre la imagen, la agarré de la segunda diapositiva de this presentation pero es originalmente del libro: Writing Apache Modules in Perl and C que recomiendo encarecidamente.
Siempre se puede probar esto con el siguiente comando:
wget -S --spider http://yourdomain.com
Con este comando se ve el que está respondiendo a su solicitud.
Como todos los demás mencionados, .htaccess es primero.
Así que, básicamente, la .htaccess
más o menos requiere el código PHP o archivos relevantes, ya que según las reglas especificadas en el .htaccess
, lo que significa .htaccess
se ejecuta en primer lugar.
- 1. Ejecuta código PHP desde .htaccess?
- 2. PHP o HTML primero o ¿es importante?
- 3. .htaccess o código de protección PHP contra varias solicitudes rápidas
- 4. Redirigir más rápido, PHP o htaccess?
- 5. ¿Qué pasa con mi código X11?
- 6. PHP - htaccess - output_buffering
- 7. ¿Qué pasa con este fragmento de código?
- 8. ¿Qué debo cerrar primero, PreparedStatement o Connection?
- 9. NHibernate y el código primero
- 10. PCA primero o normalización primero?
- 11. Lanzar la moneda sobre aprender PHP o JavaScript primero
- 12. Código primero contra base de datos Primero
- 13. Editar .htaccess con PHP
- 14. ¿Qué es "AddType" en .htaccess?
- 15. ¿Diseño o prototipo primero?
- 16. ¿Pasa por referencia o matriz de retorno en PHP?
- 17. Código de EF Primero - WithMany()
- 18. ¿Qué pasa con DateTime.Parse (myString)?
- 19. .htaccess con o sin barra
- 20. ¿Qué debo hacer primero: cancelar ScheduledFuture o apagar ScheduledExecutorService?
- 21. ¿Escribir un archivo .htaccess en PHP?
- 22. ¿Qué debe venir primero: el patrón de diseño o el código?
- 23. ¿Qué es mejor hacer primero, diseñar la interfaz o escribir el código?
- 24. ¿Qué pasa con DCOM?
- 25. Problema con .htaccess RewriteRules
- 26. ¿Qué pasa con este fragmento de código VBA?
- 27. htaccess redirect vs php redirect
- 28. ¿Usar PHP para detectar qué usuario de htaccess inició sesión?
- 29. ¿Qué pasa con gethostbyname?
- 30. ¿Qué pasa con los patrones PHP de explosión()?
¿Podría publicar un vínculo a la imagen? –
editado para agregar la atribución de la imagen. – bmdhacks
Interesante, no me di cuenta de que la registración solo ocurría después de la respuesta. +1 para encontrar ese diagrama. –