访问特定文件夹结构时显示404错误

时间:2016-06-28 12:31:46

标签: .htaccess mod-rewrite url-rewriting

如果用户尝试访问特定文件夹struture

,则显示404错误消息

RewriteCond %{REQUEST_URI} ^/protected$
RewriteRule .* /404.cfm [NC,L]

RewriteCond %{REQUEST_URI} ^/protected/pdf$
RewriteRule .* /404.cfm [NC,L]

有没有办法将两者结合起来

/protected/pdf and /protected

在一个条件中,一个正斜杠在末尾作为可选

我试过这个让前一个正斜杠可选,比如

RewriteCond %{REQUEST_URI} ^/protected/?$

但它不起作用。

2 个答案:

答案 0 :(得分:1)

尝试:

RewriteCond %{REQUEST_URI} ^/(protected|protected/pdf)/?$
RewriteRule .* /404.cfm [NC,L]

您还可以使用带有OR标志的条件

RewriteCond %{REQUEST_URI} ^/protected/?$ [OR]
RewriteCond %{REQUEST_URI} ^/protected/pdf/?$
RewriteRule .* /404.cfm [NC,L]

答案 1 :(得分:0)

不匹配:

RewriteCond %{REQUEST_URI} ^/protected/?$

表示使用可选的/结尾匹配以/ protected开头的所有内容。 我想要匹配你必须删除$。

RewriteCond %{REQUEST_URI} ^/protected/?.*$

或:

RewriteCond %{REQUEST_URI} ^/protected

或者你可以保持限制,因为@starkeen提供解决方案,这取决于你的需求。