我有一个不需要登录提示的 IP 列表...我有一个被禁止的 IP 列表(没有提示,只是拒绝访问)但我需要对所有其他 IP 进行提示...
我尝试了这个:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile .htpasswd
Require valid-user
Order Deny,Allow
Deny from all
Allow from 82.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx
Satisfy any
但是如果你使用被禁止的 IP,你就会得到提示...如果你改变 Satisfy(“满足所有”),你就会得到允许 IP 的提示...
答案1
我找到了解决我的问题的技巧:
Order Allow,Deny
Allow from all
Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx
<IfModule mod_rewrite.c>
RewriteEngine On
<If "%{REMOTE_ADDR} != '82.xxx.xxx.xxx'">
AuthType Basic
AuthName "restricted area"
AuthUserFile /var/www/.htpasswd
require valid-user
</If>
</IfModule>
Satisfy All
但是该解决方案仅适用于 apache >= 2.4,因为旧版本不支持 IF 语句....
你还有其他针对 apache 2.2 的解决方案吗?