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

htaccess配置页面302跳转子域名出现无限循环的解决方法

无限重定向的原因

之前使用的redirect 301规则未做域名匹配限制,会对当前站点绑定的所有域名生效,包含跳转目标tmp.maindomain.com。用户访问主域名页面触发跳转到tmp子域名后,tmp子域名下的同路径请求会再次匹配跳转规则,反复跳转形成死循环。同时301是永久重定向状态码,不符合临时跳转的需求。

可行配置方案

跳转规则必须增加域名判断逻辑,仅当请求来自主域名(包含带www、不带www两种形态)时才触发302临时跳转,避免影响子域名的正常访问。

Apache 环境(.htaccess/虚拟主机配置)

确保服务器已开启mod_rewrite模块,在主域名站点根目录的.htaccess文件,或主域名对应的虚拟主机配置段中添加以下规则:

RewriteEngine On
# 匹配主域名(带/不带www),不区分大小写
RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com$ [NC]
# 匹配目标页面,返回302状态码跳转到子域名对应地址
RewriteRule ^mypage\.php$ https://tmp.maindomain.com/mypage.php [R=302,L]

参数说明:

  • [NC]:域名匹配忽略大小写
  • [R=302]:显式指定302临时重定向状态码
  • [L]:匹配到当前规则后停止执行后续重定向规则,避免规则冲突

Nginx 环境

直接在主域名对应的server配置块中添加以下匹配规则即可,Nginx按server块隔离域名配置,天然不会触发子域名的跳转循环:

location = /mypage.php {
    return 302 https://tmp.maindomain.com$request_uri;
}
注意事项

配置完成后务必先清理浏览器缓存再测试:此前配置的301永久重定向会被浏览器本地长期缓存,不清缓存会出现规则不生效、依旧循环的假象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:15:19