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

.htaccess重定向规则失效排查:URL路径格式转换需求

解决.htaccess日期URL重定向问题

嘿,我来帮你搞定这个重定向的问题!要把带日期路径的旧URL(比如https://www.miblog.com/2018/02/example-5.html)重定向到去掉日期的新URL(https://www.miblog.com/example-5/),你可以试试下面的规则,同时我也会帮你排查可能的坑点:

正确的重定向规则

把这段代码放在你根目录的.htaccess文件最顶部(规则顺序很重要,靠前的规则会先被匹配):

# 启用mod_rewrite模块
RewriteEngine On

# 匹配带日期的旧URL并重定向到目标路径
RewriteRule ^20\d{2}/\d{2}/(.+)\.html$ /$1/ [R=301,L,NC]

规则细节解释:

  • ^20\d{2}/\d{2}/:精准匹配URL开头的「20xx年份+两位数字月份」格式
  • (.+):捕获HTML文件名(比如example-5),这个捕获到的内容会用$1来调用
  • \.html$:匹配URL结尾的.html后缀
  • /$1/:组合出目标URL,把捕获到的文件名加上根路径和结尾斜杠
  • [R=301,L,NC]:
    • R=301:表示永久重定向,对SEO更友好,搜索引擎会更新索引
    • L:标记这是最后一条匹配规则,避免后续规则干扰当前重定向
    • NC:忽略大小写匹配,兼容可能出现的URL大小写差异

常见问题排查

如果规则还是不生效,你可以逐一检查这些点:

  • mod_rewrite是否启用:联系主机商确认,或者自己在服务器配置里开启mod_rewrite模块
  • 服务器允许.htaccess生效:确保虚拟主机配置里有AllowOverride All(而非None),否则.htaccess的规则会被直接忽略
  • 文件位置和名称:.htaccess必须放在网站根目录,而且文件名前面的点不能丢(部分系统会隐藏带点的文件,要确认它确实存在)
  • 清空浏览器缓存:301重定向会被浏览器缓存,测试前先清空缓存或者用隐私窗口访问
  • 查看服务器错误日志:如果还是没效果,去服务器的错误日志里找相关报错,能快速定位具体问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:38:13