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

OpenCart 2升4后.htaccess重定向问题:旧URL跳转新URL

OpenCart 2升4后URL重定向问题解决方法

问题原因

你当前的RewriteRule写法存在错误:目标路径里的(.*)是新的捕获组定义,而非引用前面匹配到的子路径内容,这会导致重定向后的URL里直接保留(.*)字符串,无法正确映射旧URL的子路径。

正确实现方法

针对merchandise目录的定向规则

把目标路径里的(.*)替换为$1($1代表第一个括号(.*)捕获到的所有子路径内容),正确规则如下:

RewriteRule ^merchandise/(.*)$ /en-gb/catalog/merchandise/$1 [R=301,NC,L]

批量处理所有旧URL(可选)

如果需要把所有未带/en-gb/catalog/前缀的旧分类、产品URL都重定向到新路径,可以用通用规则,但要先排除静态文件和已存在的目录,避免误定向:

# 排除真实存在的文件和目录,防止静态资源被错误重定向
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 匹配所有非前缀开头的旧URL,重定向到带前缀的新路径
RewriteRule ^(.*)$ /en-gb/catalog/$1 [R=301,NC,L]

测试注意事项

  • 先将R=301改为R=302(临时重定向)测试,确认规则生效后再改回301(永久重定向),避免错误重定向被浏览器缓存。
  • 修改.htaccess后,务必清空浏览器缓存再测试,防止旧缓存干扰结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:57:25