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

.htaccess配置问题:如何将旧域名带参数URL重定向至无参数新域名

解决old.domain.com全量重定向到new.domain.com(丢弃所有路径和参数)

这个问题我之前处理过,核心原因是Apache的RewriteRule默认会保留原URL的查询字符串,所以带参数的请求会把参数带过去。咱们只需要调整.htaccess里的规则,明确丢弃路径和查询字符串就行。

适用Apache 2.4及以上版本的规则

直接使用QSD(Query String Discard)标记,它会自动丢弃原URL的所有查询字符串,同时忽略原路径,直接跳转到新域名的根:

RewriteEngine On

# 匹配old.domain.com的所有请求,重定向到new.domain.com并丢弃查询字符串
RewriteCond %{HTTP_HOST} ^old\.domain\.com$ [NC]
RewriteRule ^.*$ https://new.domain.com/ [R=301,L,QSD]

适用Apache 2.4以下版本的规则

如果你的服务器Apache版本低于2.4,QSD标记不生效,可以在目标URL末尾加一个?,同样能达到丢弃查询字符串的效果:

RewriteEngine On

# 兼容低版本Apache的重定向规则
RewriteCond %{HTTP_HOST} ^old\.domain\.com$ [NC]
RewriteRule ^.*$ https://new.domain.com/? [R=301,L]

关键说明

  • [NC]:忽略主机名的大小写,确保OLD.domain.com这类大小写混合的请求也能匹配。
  • [R=301]:表示永久重定向,如果你还在测试阶段,可以先改成R=302(临时重定向),避免浏览器缓存错误的重定向规则。
  • [L]:表示这是最后一条规则,匹配后不再执行后续的重写规则。
  • 目标URL末尾的/:确保跳转到新域名的根目录,而不是可能出现的无尾斜杠情况。

测试的时候,不管访问old.domain.com/index.php?goofy还是任何带路径、参数的URL,都会直接跳转到new.domain.com,不会携带任何额外内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:12:22