Остановить распространение родительского файла .htaccess в дочерние каталоги

У меня есть файл .htaccess в корневом веб-каталоге сервера, в котором есть строка вроде:

Redirect 301 /index.php http://my-new-site.com

Я обнаружил, что все файлы index.php в подкаталогах также учитывают это перенаправление. Хорошо... Я не знал, что файлы .htaccess в родительских каталогах распространяются на их дочерние. Хорошо знать. Но есть ли способ остановить это поведение? Могу ли я ограничить файл .htaccess только для файлов в том же каталоге?

В принципе, как мне остановить распространение правил .htaccess на дочерние каталоги?


person Sam    schedule 21.03.2011    source источник


Ответы (1)


Я только что проверил это, и это не работает для меня. Вы уверены, что не используете RedirectMatch, который (с этими значениями) просто соответствует /index.php в любом месте строки запроса. Как выглядит остальная часть .htaccess? Есть ли .htaccess в любом из затронутых каталогов? На что они похожи?

person nitro2k01    schedule 21.03.2011
comment
Хм... интересно. Спасибо за проверку. Нет, я использую Redirect 301, и единственным содержимым в остальной части файла .htaccess является обработка ошибок. Других файлов .htaccess нет ни в одном из подкаталогов. Я наследую этот проект и сервер... так что где-то может происходить какая-то другая магия Apache. буду дальше копать... - person Sam; 22.03.2011
comment
Попробуйте изменить правило, чтобы оно говорило /blub.php, и посмотрите, будет ли /subdir/blub.php также перенаправлять. Также проверьте файл httpd.conf и связанные с ним файлы на наличие чего-нибудь интересного. Наконец, проверьте, есть ли в подкаталоге index.php, который может выполнять перенаправление в PHP-коде. - person nitro2k01; 22.03.2011