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

多站点.htaccess指定域名301重定向问题求助

解决多域名部署下的重定向循环与Rewrite规则失效问题

问题根源

  • 使用Redirect 301 /test1 https://bbb.com/test1会对当前目录下的所有域名生效,所以当访问https://bbb.com/test1时也会触发这条规则,导致无限循环,出现“Too many redirects”错误。
  • 你之前尝试的Rewrite规则失效,是因为在.htaccess文件中,RewriteRule的匹配路径不需要带开头的斜杠——Apache处理目录级的.htaccess时,会自动去掉请求路径中对应目录的前缀,所以/test1在规则里实际匹配的是^test1/?$而非^/test1/?$。

正确的.htaccess配置方案

将以下规则添加到你的.htaccess文件中:

RewriteEngine On

# 仅匹配aaa.com(含www前缀)的请求
RewriteCond %{HTTP_HOST} ^(www\.)?aaa\.com$
# 匹配/test1或/test1/,重定向到bbb.com的对应路径
RewriteRule ^test1/?$ https://bbb.com/test1 [L,R=301]

补充说明

  • 必须确保RewriteEngine On开启重写引擎,否则所有Rewrite规则都不会生效。
  • [L]标记表示这是最后一条执行的规则,避免后续规则干扰当前重定向逻辑。
  • R=301代表永久重定向,若需要临时重定向(比如测试阶段),可以改为R=302。
  • 如果需要保留原请求的查询参数(例如https://aaa.com/test1?id=123要同步到https://bbb.com/test1?id=123),可以在标记中添加QSA,即修改为[L,R=301,QSA]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:34:51