【问题标题】:Deny access to URI拒绝访问 URI
【发布时间】:2015-05-14 21:06:23
【问题描述】:
我正在尝试拒绝访问某个 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”部分。
这里出了什么问题?
【问题讨论】:
标签:
apache
.htaccess
setenvif
【解决方案1】:
要否定匹配,您不能将 ! 放在 SetEnvIf 指令中。您需要像这样使用否定前瞻:
SetEnvIf Request_URI ^/(?!admin/) not_admin_uri
【解决方案2】:
也许可以尝试使用重写规则。如果不是来自您的 IP,则阻止访问。
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.
RewriteRule ^admin/? - [F,L]