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

寻求.htaccess通配符301重定向单行规则解决方案

实现批量URL重定向的正确Apache规则

你的两个尝试都存在问题,具体原因和修正方案如下:

原规则的问题

  • 第一个Redirect指令:该指令仅支持前缀匹配,不支持*通配符写法,/article/*/*.html会被当作字面路径处理,无法匹配实际的文章URL。
  • 第二个RewriteRule:规则里的\*是转义后的字面星号,不是正则表达式的通配符,无法匹配任意字符;同时RewriteCond %{QUERY_STRING} ^$会限制仅空查询字符串的URL才会被重定向,属于多余限制。

正确的单行重写规则

方案1:使用RewriteRule(推荐,更灵活)

RewriteRule ^article/[^/]+/[^/]+\.html$ https://www.newdomain.com/news/ [R=301,L]
  • 规则说明:
    • ^article/:匹配URL开头的article/路径
    • [^/]+:匹配两段不含斜杠的任意内容(对应原URL里的数字ID和文章别名)
    • \.html$:匹配URL结尾的.html后缀
    • [R=301,L]:标记为301永久重定向,L表示执行完这条规则后停止后续规则处理
    • 若需清除原URL的查询字符串,可在目标URL末尾加?,即https://www.newdomain.com/news/?

方案2:使用RedirectMatch(更简洁)

如果不想用RewriteRule,也可以用支持正则的RedirectMatch:

RedirectMatch 301 ^/article/[^/]+/[^/]+\.html$ https://www.newdomain.com/news/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 10:52:06