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

子域名.htaccess配置的Basic认证意外影响主域名访问问题咨询

根因分析

  1. 问题核心由Drupal 7.82版本的更新逻辑导致。该版本修复了多项与资源加载、路径解析相关的安全漏洞,升级后主站点页面隐含了指向test.example.com的资源引用请求(可能是脚本、样式、图片、AJAX接口等)。当用户访问主域名页面时,浏览器会自动加载所有页面依赖资源,一旦发起对受密码保护的子域名资源的请求,就会弹出归属为子域名的身份验证窗口,且不会触发页面跳转,和描述的现象完全吻合。
  2. 排除vhost配置问题的前提下,还有一种极低概率的场景:主域名站点的目录与测试子域名站点的目录存在父子级包含关系,之前运行正常是因为Drupal旧版本的路径解析逻辑刚好避开了.htaccess规则继承,升级后路径解析逻辑变化触发了子目录下的身份验证规则继承。

排查修复方案

  • 打开主域名页面,按下F12启动浏览器开发者工具,切换到「网络」面板,刷新页面后筛选状态码为401 Unauthorized的请求,即可直接定位到具体触发验证的子域名资源,再对应检查该资源的引用来源,清理主站代码中误加的子域名资源引用即可。
  • 若排查后未发现主动引用的子域名资源,检查Drupal系统变量配置,确认是否存在升级后被重置的静态资源域名、CDN域名等配置项,是否误填为测试子域名。
  • 可以修改测试子域名的.htaccess规则,增加域名判断逻辑,仅对测试子域名的请求生效,避免规则外溢,参考配置如下:
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /home/httpd/mydomain/test.example.com/.htpasswd
SetEnvIf Host ^test\.example\.com$ require_auth
<RequireAny>
    Require env !require_auth
    Require valid-user
</RequireAny>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:06:10