.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>
阅读 7.4k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进