You need to enable JavaScript to run this app. 如何通过htaccess配置URL Rewrite规则实现指定URL格式转换
优惠活动
大模型
产品
解决方案
定价
更多

如何通过htaccess配置URL Rewrite规则实现指定URL格式转换

配置前置要求

首先确认你的Apache环境已经开启mod_rewrite模块,且站点根目录的AllowOverride配置设置为All,保证.htaccess文件可以正常生效。

重写规则

将以下代码写入站点根目录的.htaccess文件即可:

RewriteEngine On
# 适配Apache 2.4及以上版本,支持自动将产品名转为小写
RewriteRule ^folder/subfolder/([^/]+)--(\d+)\.html$ /p/${tolower:$1}/$2 [R=301,L,NC]

如果你的Apache版本低于2.4,不支持内置tolower函数,且不需要强制产品名小写,可以使用以下规则:

RewriteEngine On
RewriteRule ^folder/subfolder/([^/]+)--(\d+)\.html$ /p/$1/$2 [R=301,L,NC]

规则说明

  • ^folder/subfolder/ 精准匹配原URL的固定路径前缀
  • ([^/]+) 捕获产品名称部分,匹配所有除路径分隔符/外的字符,对应变量$1
  • -- 匹配产品名与数字ID之间的固定分隔符
  • (\d+) 捕获任意长度的数字ID,对应变量$2
  • \.html$ 匹配原URL的.html后缀
  • 参数R=301表示返回301永久重定向,对SEO更友好,如果需要隐藏重写逻辑、保持用户地址栏显示原URL,直接删除该参数即可
  • 参数L表示命中该规则后不再执行后续的重写规则
  • 参数NC表示匹配时忽略URL大小写

特殊场景适配

如果你的产品名称本身可能包含--字符,可以调整规则为以下写法,保证只会匹配最后一组--作为产品名和ID的分隔符:

RewriteRule ^folder/subfolder/([^/]+?)--(\d+)\.html$ /p/${tolower:$1}/$2 [R=301,L,NC]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 16:39:02