拒绝访问URI

时间:2015-03-12 15:50:51

标签: apache .htaccess setenvif

我试图拒绝访问某个uri,即/admin/并尝试过此.htaccess文件:

SetEnvIf Request_URI !^/admin/ not_admin_uri

Order deny,allow
Deny from all
allow from 356.244.33.
allow from env=not_admin_uri

这适用于示例IP范围,但不适用于" not_admin_uri"一部分。

这里出了什么问题?

2 个答案:

答案 0 :(得分:1)

也许尝试使用重写规则。如果不是来自您的IP,则阻止访问。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.
RewriteRule ^admin/? - [F,L]

答案 1 :(得分:1)

要取消匹配,您无法在!指令中放置SetEnvIf。您需要使用否定前瞻,如下所示:

SetEnvIf Request_URI ^/(?!admin/) not_admin_uri