Como sabe por la documentación, cuando se establece en DirectorySlash
Off
, peticiones a /folder
no tienen DirectoryIndex
evaluado. Esto significa que la solicitud no se asignará automáticamente al /folder/index.php
.
mod_dir
realiza esta comprobación en la fase de "reparación" del procesamiento de solicitud. mod_rewrite
, que es responsable de sus definiciones RewriteRule
, también realiza su procesamiento en esta fase cuando especifica las reglas en un archivo .htaccess
.
Sin embargo, se programó con un conocimiento de módulos como mod_dir
, e incluye una verificación para asegurarse de que el directorio actual se solicitó con una barra inclinada. De lo contrario, se niega a gestionar la solicitud, ya que hacerlo podría generar un comportamiento no definido.
La solicitud pasa luego a la fase de generación de contenido, que, dado que la solicitud no se asignó a un archivo real, se maneja por mod_autoindex
. Dado que Indexes
están deshabilitados en su host de manera predeterminada, mod_autoindex
devuelve que es lo que ve.
Nota que desde DirectoryIndex
no se evalúa, incluso si mod_rewrite
eran para procesar la solicitud, todavía sería un error, ya que no ocurriría de auto-resolución a index.php
, y la regla
RewriteRule . /folder/index.php [L]
wouldn' t coincide, porque el .
requiere una coincidencia en algo (pero la solicitud estaría en blanco).
Activación DirectorySlash
evita este escenario mediante la corrección de las acciones impedido en todos los escenarios mencionados anteriormente, excepto la última nota, que está atendido por el hecho de que DirectoryIndex
mapas de la solicitud de index.php
de todos modos.
¡Muchas gracias! Fácil de entender también, si leo su respuesta. – gearsdigital
Pero, ¿qué ocurre si queremos ofuscar nuestra estructura de directorios y aún utilizar 'mod_rewrite' para cada solicitud? Digamos que tengo un sitio con un directorio '/ private'. Apache me redirigiría a '/ private /' si solicito '/ private' si' DirectorySlash' está 'Activado', permitiendo así que se divulgue la información. ¿Qué sucede si solo deseo enviar'/private' a mi 'índice. Controlador frontal php'? – tonix