Permitir que Parent .htaccess redirija todos los activos

Permitir que Parent .htaccess redirija todos los activos

Estamos migrando de un subdominio a otro. Este dominio en particular tiene un subconjunto de varios sitios web. Configuré la siguiente reescritura para manejar la redirección globalmente:

En docroot/.htaccess("Regla #1")

RewriteEngine On
RewriteCond %{HTTP_HOST} ^virtual\.example\.com$
RewriteRule ^(.*)$ http://events.example.com/$1 [L,R=301]

Generalmente funciona, excepto en algunos sitios que tienen sus propias reglas de reescritura. Por ejemplo, /roadshow/2015/tiene la siguiente regla general:

En docroot/roadshow/2015/.htaccess("Regla #2")

RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]

El problema:Las páginas siguientes /roadshow/2015/continúan cargándose como si la regla n.° 1 no existiera.

¿Que me estoy perdiendo aqui? :)

Respuesta1

Las directivas mod_rewrite en archivos .htaccess en subcarpetas prevalecerán sobre las de las carpetas principales; intente usarlas RewriteOptions Inheriten el archivo .htaccess de cada subcarpeta (consultehttp://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions).

Si está ejecutando Apache 2.4.8 o superior, puede usar RewriteOptions InheritDown para aplicar automáticamente a todos los archivos .htaccess secundarios en lugar de tener que modificar cada uno.

información relacionada