.htaccess按URL最后段重定向至Shopify域名问题求助
解决.htaccess重定向中$1未正确识别的问题
问题根源
你用的正则表达式(?<=\/)\w+$使用了正向肯定后发断言,这个语法仅用于定位匹配位置,不会将匹配到的brand存入捕获组,所以$1自然无法引用到内容,导致重定向时缺失目标后缀。
修正方案
将正则改为带捕获组的格式,把需要提取的brand部分用()包裹,这样$1就能正确捕获到该内容。
针对特定路径的精确规则
如果只需要处理/golf/shoes/white/winter/brand这类固定前缀的路径,用以下规则:
RewriteEngine On RewriteRule ^golf/shoes/white/winter/(\w+)$ https://url-old.com/collections/$1 [R=301,L]
通用规则(匹配所有以单词结尾的路径)
如果需要批量处理所有类似/xxx/xxx/xxx/brand格式的路径,用更通用的规则:
RewriteEngine On RewriteRule ^.*\/(\w+)$ https://url-old.com/collections/$1 [R=301,L]
关键说明
(\w+)是捕获组,会匹配路径最后一段的字母/数字/下划线,结果存入$1R=301表示永久重定向,适合SEO优化;临时重定向可改用R=302L表示这是最后一条匹配规则,避免后续规则干扰
内容的提问来源于stack exchange,提问作者Thomas Henke
相关产品推荐
相关产品推荐

