Мы мигрируем от одного субдомена до другого. Этот конкретный домен имеет подмножество нескольких веб-сайтов. У меня есть установка, которую следующее переписывает для обработки перенаправления глобально:
В docroot/.htaccess
("Правило № 1")
RewriteEngine On
RewriteCond %{HTTP_HOST} ^virtual\.example\.com$
RewriteRule ^(.*)$ http://events.example.com/$1 [L,R=301]
Это обычно работает, за исключением нескольких сайтов, которые имеют их собственное, переписывают правила. Например, /roadshow/2015/
имеет следующее всеобъемлющее правило:
В docroot/roadshow/2015/.htaccess
("Правило № 2")
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]
Проблема: Страницы под /roadshow/2015/
продолжите загружаться, как будто Правило № 1 не существует.
Что я пропускаю здесь?:)
mod_rewrite tilskipanir í .htaccess skrám í undirmöppum munu trompa þær í foreldramöppum - reyndu að nota RewriteOptions Inherit
í .htaccess skrá hvers undirmöppu (sjá http://httpd.apache.org /docs/current/mod/mod_rewrite.html#rewriteoptions ).
Ef þú ert að keyra Apache 2.4.8 eða nýrri geturðu notað RewriteOptions InheritDown til að nota sjálfkrafa á allar barnar .htaccess skrár frekar en að þurfa að breyta hverjum og einum.