
En mi sitio Apache, tengo la siguiente redirección:
RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1
que redirige desde el directorio raíz al directorio "Web".
¿Esto también se ejecutará a través del .htaccess del /web/
directorio?
Respuesta1
Sí, lo hace. (Suponiendo que .htaccess
no se hayan deshabilitado las anulaciones para el subdirectorio).
RewriteCond %{REQUEST_URI} !^/web/ RewriteRule ^(.*)$ /web/$1
De hecho, si el .htaccess
archivo en el subdirectorio contiene directivas mod_rewrite entonces no necesita la RewriteCond
directiva, ya que las directivas mod_rewrite en el subdirectorio anularán las directivas en el padre (por defecto) y así evitarán un bucle de reescritura.
Tenga en cuenta que en la directiva que publicó le falta una L
marca, por lo que el procesamiento continuará primero con el resto del .htaccess
archivo actual.
Un punto menor: esto es estrictamente una "reescritura", no una "redirección". Aunque los documentos de Apache se refieren a "redirecciones internas". Una "redirección" se utiliza más comúnmente para referirse aexternoRedirecciones 3xx.