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

如何用.htaccess修改主站根目录且不影响子域名?

解决.htaccess规则中子域名访问403的问题

你遇到的403错误,根源是原规则的域名匹配逻辑有漏洞——正则里的.没有转义,且未明确限制仅匹配主域名。调整规则如下,即可让主域名正常指向website目录,同时不影响子域名:

RewriteEngine on
# 仅精确匹配主域名example.com(不区分大小写)
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# 避免对website目录的请求重复重写,防止循环
RewriteCond %{REQUEST_URI} !^/website/
# 将主域名的所有请求转发到website目录
RewriteRule ^(.*)$ /website/$1 [L]

关键调整说明:

  1. 精确匹配主域名:用^example\.com$替代原规则写法,其中\.是正则中转义后的点,确保只匹配完整的example.com,不会误匹配带前缀的子域名(如subdomain1.example.com)。
  2. 排除循环重写:第二个条件确保当请求已经指向website目录时,不再执行重写,避免服务器陷入循环。
  3. 子域名不受影响:子域名的HTTP_HOST不满足^example\.com$的精确匹配,因此规则不会对其生效,子域名会直接加载对应目录(subdomain1、subdomain2)的内容。

验证后:访问example.com时会正常加载website下的文件,访问subdomain1.example.com则直接对应subdomain1目录,不会再出现403错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 19:53:29