
No meu site apache, tenho o seguinte redirecionamento:
RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1
que redireciona do diretório raiz para o diretório "Web".
Isso também será executado através do .htaccess do /web/
diretório?
Responder1
Sim. (Supondo que .htaccess
as substituições não tenham sido desativadas para o subdiretório.)
RewriteCond %{REQUEST_URI} !^/web/ RewriteRule ^(.*)$ /web/$1
Na verdade, se o .htaccess
arquivo no subdiretório contém diretivas mod_rewrite, então você não precisa da RewriteCond
diretiva, pois as diretivas mod_rewrite no subdiretório substituirão as diretivas no pai (por padrão) e, assim, evitarão um loop de reescrita.
Observe que na diretiva que você postou está faltando um L
sinalizador, portanto o processamento continuará primeiro pelo restante do .htaccess
arquivo atual.
Ponto menor, isso é estritamente uma "reescrita", não um "redirecionamento". Embora os documentos do Apache se refiram a "redirecionamentos internos". Um "redirecionamento" é mais comumente usado para se referir aexternoRedirecionamentos 3xx.