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

如何修正301重定向问题:将旧站带参数链接定向至新站首页

修正旧站带参数链接的301重定向配置

我拥有两个网站:

  • 旧站:https://www.old.example/en/
  • 新站:https://new.example/en

谷歌搜索控制台报告旧站存在约80个带参数的链接出现重定向异常,例如:

  • https://www.old.example/en/?p=41310
  • https://www.old.example/en/?p=45659
  • https://www.old.example/en/?p=72785

当前旧站的.htaccess仅配置了以下代码:

Redirect 301 / https://new.example/

该配置会将上述带参数的旧链接重定向至类似https://new.example/en/?p=62692的地址,但需求是让这类带参数的链接始终重定向到新站首页https://new.example/en。

解决方案

原Redirect指令会默认保留请求的查询字符串,因此需要改用mod_rewrite规则来实现丢弃参数的重定向。替换原有.htaccess配置为以下内容:

RewriteEngine On

# 匹配旧站/en路径下所有带参数的请求,重定向到新站首页并清空参数
RewriteCond %{QUERY_STRING} .+
RewriteRule ^en/?$ https://new.example/en? [R=301,L]

# 处理旧站其他路径的重定向(保持根路径跳转逻辑)
RewriteRule ^ https://new.example/ [R=301,L]

规则说明

  • RewriteEngine On:启用Apache的重写引擎
  • RewriteCond %{QUERY_STRING} .+:匹配任何带有查询字符串(即URL中带?及后续参数)的请求
  • RewriteRule ^en/?$ https://new.example/en? [R=301,L]:匹配旧站的/en或/en/路径,重定向到新站首页,末尾的?会强制清空查询字符串
  • 最后一条规则处理旧站其他不带参数或非/en路径的请求,保持原有的根路径重定向逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:10:31