Итак, у меня есть какая-то сумасшедшая странность в mod_rewrites, игнорируемая, когда дочерние каталоги также имеют файл htaccess (независимо от того, имеет ли файл противоречивое правило или нет).Apache mod_rewrite craziness в наследовании
Так пример для перенаправления /index.html из директории в/для канонических целей ...
RewriteCond %{THE_REQUEST} /index\.html [NC]
RewriteRule ^(.*?)index\.html$ /$1 [L,R=301,NC,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1/index\.html -f [NC]
RewriteRule ^(.+?)/?$ /$1/[R=301,L]
Итак ... если это установлено в настройках корневым, то все работает. Но как только дочерний каталог имеет собственный htaccess (даже без противоречивого переписывания), он просто полностью игнорирует.
Я помню, такая проблема в прошлом. Я не могу вспомнить, удалось ли мне решить эту проблему. Один из способов сделать это - обход всех файлов .htaccess и прямое редактирование httpd.conf. – Sumurai8