#regex #apache #mod-rewrite #http-status-code-404
#регулярное выражение #apache #мод-перезапись #http-status-code-404
Вопрос:
Я ищу в Интернете со вчерашнего дня и не смог найти ответ. По крайней мере, один, который работает для apache2.
Мне просто нужен набор правил rewritemod, которые заставят apache перенаправлять все на 404, но позволят мне явно переопределить его для некоторых файлов / папок.
Я пробовал использовать инклюзивное правило, но не смог заставить его работать.
Спасибо.
Ответ №1:
Просто попробуйте эту строку в вашем файле .htaccess:
RewriteRule ^(?!(allowedFile.html|allowedDirectory/)) - [R=404,L,NC]
Приведенное выше правило выдает значение 404 для всего, кроме вызываемого файла allowedFile.html
и вызываемой папки allowedDirectory
.
Ответ №2:
RewriteRule ^/protectedfolder/(.*) - [L] /* no substitution , serve as it is for this folder*/
RewriteRule ^$ - [R=404,L] /*reject everything */
Комментарии:
1. спасибо, чувак, но это работает не так, как ожидалось. Я хочу перенаправить все на 404, даже 403 (запрещенные) ошибки. Я пытался использовать перезапись, подобную этой: ‘Перезапись%{REQUEST_URI} ! также ^/images’ и простое правило для перенаправления всего, но оно не работает.