Apache 2.4.56下.htaccess针对IP的WordPress虚拟目录访问规则配置求助
解决方案:Apache 2.4 .htaccess IP访问控制配置
针对你的需求,直接在根目录的.htaccess里添加以下规则即可,完全适配WordPress虚拟路径场景:
# 默认拒绝所有外部访问 Require all denied # 允许192.168.124.1完全访问服务器所有路径 Require ip 192.168.124.1 # 配置第二个IP仅能访问/foo及所有子目录 # 替换下面的192.168.124.Y为你的第二个目标IP SetEnvIf Remote_Addr "^192\.168\.124\.Y$" ALLOWED_FOO_IP SetEnvIf Request_URI "^/foo(/.*)?$" ALLOWED_FOO_PATH # 仅当IP匹配且请求路径符合时允许访问 Require env ALLOWED_FOO_IP AND ALLOWED_FOO_PATH
规则说明:
- 默认锁权:先通过
Require all denied锁定全局访问,确保只有后续规则放行的IP能访问。 - 全权限IP配置:直接用
Require ip指令放行192.168.124.1的所有请求,不受任何路径限制。 - 限定路径的IP配置:
SetEnvIf Remote_Addr匹配目标IP,标记环境变量ALLOWED_FOO_IP。SetEnvIf Request_URI匹配以/foo开头的所有路径(包括/foo本身、/foo/bar等子路径),标记环境变量ALLOWED_FOO_PATH。- 最后通过
Require env ... AND ...做双重校验,确保只有该IP访问指定路径时才放行。
注意事项:
- 替换规则中的
192.168.124.Y为你实际的第二个IP地址,正则里的.必须转义成\.。 - 规则完全基于用户请求的URI路径判断,不依赖物理目录结构,完美适配WordPress虚拟路由机制。
- 确保Apache 2.4已启用
mod_authz_core和mod_setenvif模块(默认均为启用状态)。
内容的提问来源于stack exchange,提问作者Besim
相关产品推荐
相关产品推荐

