You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过.htaccess实现全站与子目录差异化认证,解决无限循环问题

解决主目录HTTP基础认证与WordPress子目录独立认证的循环问题

问题根源

主目录的.htaccess认证规则会被子目录默认继承,访问folder1时,主目录要求的userX认证与子目录要求的userY认证同时生效,导致服务器反复触发认证请求,形成无限循环。

修改方案

1. 主目录.htaccess保持不变

原主目录认证规则无需修改,确保folder2、folder3及根目录正常使用userX认证:

AuthUserFile /home/sites/www.website.at/web/.htpasswd
AuthName Admin
AuthType Basic
Require user userX
AuthGroupFile /home/sites/www.website.at/web/.group

2. 修改folder1的.htaccess

在子目录认证规则前,先清除继承的主目录认证要求,再设置独立认证:

# 清除主目录继承的认证规则,避免冲突
AuthType None
Require all granted

# 设置当前目录的独立认证规则
AuthUserFile /home/sites/www.website.at/web/.htpasswd
AuthName "Admin"
AuthType Basic
Require user userY
AuthGroupFile /home/sites/www.website.at/web/.group

# 保留WordPress原有的重写规则(如果有)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /folder1/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder1/index.php [L]
</IfModule>
# END WordPress

关键说明

  • AuthType None和Require all granted会临时取消当前目录继承的认证限制,确保子目录的独立规则可以单独生效。
  • 若folder1中已有WordPress生成的重写规则,需将认证代码放在重写规则之前,避免认证逻辑被重写规则干扰。

内容的提问来源于stack exchange,提问作者lennynotkravitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:50:23