.htaccess在未经授权的文件夹访问时重定向到404(未找到)消息

时间:2012-01-07 01:20:29

标签: apache .htaccess

当用户尝试访问未经授权的目录时,我想显示404(未找到)消息。我不想使用Forbidden页面。我试过下面的代码,但它不起作用。

RedirectMatch 404 ^/htaccess/.*$

对可能出现的问题有什么看法?

2 个答案:

答案 0 :(得分:11)

尝试将以下内容添加到您的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]

答案 1 :(得分:0)

R = 404不是有效的R值,它必须在300-399范围内或将被忽略。最好简单地重定向到一个未被其他规则阻止的不存在的URL,这将触发你的错误文档。