Не забудьте очистить кеш в вашем браузере при работе с htaccess.
етствующая часть моего .htaccess выглядит так:
Options -Indexes
<FilesMatch include>
Order allow,deny
Deny from all
</FilesMatch>
RedirectMatch 404 ^/include(/.*)$
И это генерирует следующие ответы:
/ включает 403/ включить / 404/include/config.inc 403По шаблону я могу сказать, что проблема, скорее всего, в (/.*) части, но все, что я пробовал, дает мне те же результаты; вместо того, чтобы последовательно получать 404, я получаю 404 для одного случая и 403 для всего остального.Что не так с выражением, которое я использую? В качестве альтернативы, поскольку я должен сделать это для нескольких каталогов, существует ли общий подход, который позволил бы мне преобразовать все 403 ответа в 404?
ОБНОВИТЬ: Я обнаружил, что, удаляя FileMatch, я получаю лучшие результаты, поэтому мой .htaccess теперь выглядит так:
Options -Indexes
RedirectMatch 404 ^/include(/.*)?$ # Added dlamblin's first suggestion
И генерирует следующие ответы:
/ включает 404/ включить / 404/include/config.inc 403ОБНОВИТЬ: Интересно, что я обнаружил, что следующее производит различный вывод:
RedirectMatch 404 ^/include(/?|/.*)$
RedirectMatch 404 ^/template(/?|/.*)$
Шаблон шаблона работает во всех случаях, однако, по-прежнему генерируется 403 для всех включаемых файлов (например, /include/config.inc).Может ли это быть проблемой с именем каталога, а не проблемой самого файла .htaccess?
ОБНОВИТЬ: Следующее в моем .htaccess конфликтовало с перенаправлением при доступе к /include/config.inc.
<FilesMatch config>
Order allow,deny
Deny from all
</FilesMatch>