Um .htaccess redireciona para uma pasta diferente ativa o segundo .htaccess?

Um .htaccess redireciona para uma pasta diferente ativa o segundo .htaccess?

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 .htaccessas substituições não tenham sido desativadas para o subdiretório.)

RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1

Na verdade, se o .htaccessarquivo no subdiretório contém diretivas mod_rewrite, então você não precisa da RewriteConddiretiva, 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 Lsinalizador, portanto o processamento continuará primeiro pelo restante do .htaccessarquivo 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.

informação relacionada