如何通过.htaccess将/category/item/id-title.html重定向到/category/title
重定向规则配置方案
完整配置代码
修改你的.htaccess文件,添加如下配置即可:
RewriteEngine On RewriteRule ^([^/]+)/item/([0-9]+)-([^/]+)\.html$ /$1/$3 [L,R=301,NC]
规则说明
^([^/]+):匹配第一个路径段的动态category值,存入占位符$1,[^/]+表示匹配除斜杠外的所有字符,确保只抓取第一个路径段/item/:固定匹配路径中的item段([0-9]+):匹配纯数字格式的id参数,如果你站点的id包含非数字字符,可以替换为([^-]+),匹配到第一个横杠前的所有内容即可-:匹配id和title之间的横杠分隔符([^/]+):匹配title段内容,存入占位符$3\.html$:匹配后缀.html,确保只对旧格式的html链接生效- 末尾标记说明:
L:匹配到规则后停止执行后续重写规则,避免和其他规则冲突R=301:返回301永久重定向状态码,方便搜索引擎更新收录链接NC:不区分大小写,避免大小写差异导致匹配失败
注意事项
- 如果站点部署在根目录下的子文件夹中,需要在
RewriteEngine On下方新增一行RewriteBase /你的子目录名称/ - 配置完成后请清空浏览器缓存再测试,301重定向会被浏览器长期缓存,未清缓存可能看不到最新配置效果
内容的提问来源于stack exchange,提问作者Alejandro Pedro
相关产品推荐
相关产品推荐

