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

使用.htaccess将含特殊字符的URL 301重定向至首页失败排查

解决带查询字符串的301重定向问题

你原来的规则失效,核心原因是mod_alias的Redirect指令不处理URL中的查询字符串(也就是?后面的部分),它只能匹配?之前的路径内容,所以你的目标URL里的?404;http://www.domain.co.uk:80/sn-down-to-earth.html这部分,Redirect根本匹配不到。

要解决这个问题,得改用mod_rewrite规则,它可以精准匹配查询字符串。在你的.htaccess文件里添加以下规则(如果已经有RewriteEngine On就不用重复写了):

RewriteEngine On
RewriteCond %{QUERY_STRING} ^404;http://www\.domain\.co\.uk:80/sn-down-to-earth\.html$
RewriteRule ^$ https://www.domain.co.uk/? [R=301,L]

规则说明:

  • RewriteCond %{QUERY_STRING} ...:精准匹配完整的查询字符串内容,注意把URL里的.转义成\.,避免正则匹配出错。
  • RewriteRule ^$:匹配根路径(因为原URL的路径是/)。
  • 重定向URL末尾的?:用来清除原URL的查询字符串,确保重定向后的地址干净。
  • R=301:指定永久重定向,L表示匹配到这条规则后就停止处理后续规则。

把这条规则放在其他重定向规则的前面,保证它优先被匹配执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:22:45