На моем сайте apache у меня есть следующий редирект:
RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1
, который перенаправляет из корневого каталога в каталог "Web".
Будет ли это также выполняться через .htaccess / web /
каталог тоже?
Да, это так. (Предполагая, что переопределения .htaccess
не были отключены для подкаталога.)
RewriteCond %{REQUEST_URI} !^/web/ Правило перезаписи ^(.*)$ /web/$1
На самом деле, если файл .htaccess
в подкаталоге содержит директивы mod_rewrite, то вам не нужна директива RewriteCond
, так как директивы mod_rewrite в подкаталоге переопределяют директивы. в родительском (по умолчанию) и, таким образом, предотвратить цикл перезаписи.
Обратите внимание, что в опубликованной вами директиве отсутствует флаг L
, поэтому обработка сначала продолжится до остальной части текущего файла .htaccess
.
Незначительное замечание: это строго «переписывание», а не «перенаправление». Хотя документы Apache относятся к «внутренним перенаправлениям». «Перенаправление» чаще используется для обозначения внешних перенаправлений 3xx.