.htaccess для перенаправления на 404 (не найдено) сообщение о несанкционированном доступе к папке - PullRequest
7 голосов
/ 07 января 2012

Я хочу отобразить сообщение 404 (Не найдено), когда пользователь пытается получить доступ к неавторизованному каталогу.Я не хочу использовать запрещенные страницы.Я пробовал с приведенным ниже кодом, но он не работает.

RedirectMatch 404 ^/htaccess/.*$

Есть идеи, что может пойти не так?

Ответы [ 2 ]

11 голосов
/ 07 января 2012

попробуйте добавить следующее в ваш htaccess файл

#if the URI starts with htaccess, return a 404
RewriteRule ^htaccess/ - [R=404,L,NC]

Редактировать

например, система / функция, система / класс, ...

Если у вас много папок, используйте RewriteCond, как показано ниже, так как его легче читать, чем несколько папок в одном RewriteRule или нескольких RewriteRules, которые дублируют 404 элемента

RewriteCond %{REQUEST_URI} ^htaccess/ [NC,OR]
RewriteCond %{REQUEST_URI} ^system/function/ [NC,OR]
#just make sure the last rule does  NOT have an OR
RewriteCond %{REQUEST_URI} ^system/class/ [NC]
RewriteRule . - [R=404,L,NC]
0 голосов
/ 10 декабря 2012

R = 404 не является действительным значением R, оно должно находиться в диапазоне 300-399 или будет игнорироваться.Лучше просто перенаправить на несуществующий URL, который не заблокирован другими правилами, это вызовет ваш ошибочный документ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...