.htaccess如何单独给某个请求设置IP白名单权限?


例如 http://demo.com/hello 这条url,我想限制只有211.125.10.5这个IP可以访问,其他IP访问均返回403,该如何写.htaccess

PS1:
/hello不是一个目录,所以不可以用.htaccess基于目录的IP限制

PS2:
网站是基于WordPress的,现已有如下rewrite规则。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

PS3:
刚才尝试了一种方案,但总是500
该方案被否决了,Location指令不能写在.htaccess文件中...

<Location /hello/ >
    Order Deny,Allow
    Deny from all
    Allow from 211.125.10.5
</Location>

apache .htaccess

四叶草场主 11 years, 6 months ago

Apache会搜索每个目录下是否有 .htaccess ,所以,你只要在子目录里设置就行了,限制方法与主目录限制相同。
或者不使用 Location ,使用 Directory 块来限制,或者使用 files 限制可执行文件。

199123 answered 11 years, 6 months ago

Your Answer