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

如何通过.htaccess修改子域名的documentroot指向指定目录

问题原因

你写的规则触发了重写循环:重写后的路径/folder1/folder2/xxx仍然会再次匹配RewriteRule ^(.*)$的规则,无限次触发重写,超过Apache默认的10次重写上限后就会抛出内部服务器错误。
另外如果你实际配置时没有删掉规则前的#注释,也会导致规则逻辑失效。

正确的重写规则

把站点根目录的.htaccess内容改成如下:

RewriteEngine on
# 只匹配子域名mysubdomain.test.com的请求
RewriteCond %{HTTP_HOST} ^mysubdomain\.test\.com$ [NC]
# 过滤已经重写到目标路径的请求,避免循环
RewriteCond %{REQUEST_URI} !^/folder1/folder2/
# 重写到目标目录,L标记表示本次重写结束
RewriteRule ^(.*)$ /folder1/folder2/$1 [L,QSA]

额外排查项

  • 确认folder1/folder2目录实际存在,且目录权限为755、目录内文件权限为644,权限错误也可能触发500报错
  • 确认DirectAdmin站点已经开启.htaccess支持,Apache的mod_rewrite模块已启用
  • 以上规则已经可以实现子域名访问时地址栏不变、内容加载目标目录的需求,不需要额外加R跳转标记

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:54:07