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

寻求可同时修改路径并移除URL中特定字符串的301重定向正则表达式

寻求可同时修改路径并移除URL中特定字符串的301重定向正则表达式

嗨,我来帮你搞定这个301重定向需求!你需要同时完成两个核心操作:替换旧的路径前缀,以及移除文件名里的-365x365尺寸后缀,这完全可以通过一条正则重写规则实现,我分两种常见的服务器环境给你详细说明:

Apache 服务器(使用.htaccess)

如果你用的是Apache,直接在网站根目录的.htaccess文件里添加以下规则即可:

RewriteEngine On
RewriteRule ^/components/com_mijoshop/opencart/image/cache/(.*)/([^-]+)-365x365\.jpg$ /wp-content/uploads/nc/$1/$2.jpg [R=301,L]

咱们拆解一下这个规则的逻辑:

  • ^/components/com_mijoshop/opencart/image/cache/ 精准匹配旧URL的固定前缀部分
  • (.*) 捕获中间可变的目录层级(比如示例里的catalog/ecom2)
  • /([^-]+) 捕获文件名中-365x365之前的核心名称(比如示例里的GM815)
  • -365x365\.jpg$ 匹配需要移除的尺寸后缀和固定的文件扩展名
  • 替换后的路径/wp-content/uploads/nc/$1/$2.jpg则把捕获到的目录和文件名拼接成新的URL

Nginx 服务器

如果你的网站是部署在Nginx上,就在配置文件的server块里添加以下规则:

location ~* ^/components/com_mijoshop/opencart/image/cache/(.*)/([^-]+)-365x365\.jpg$ {
    return 301 /wp-content/uploads/nc/$1/$2.jpg;
}

扩展:匹配任意尺寸后缀

如果你的图片后缀不只是-365x365,还有其他类似-200x200、-400x400的尺寸格式,可以把正则里的-365x365改成-\d+x\d+,这样就能匹配任意数字组合的尺寸后缀了:

Apache 扩展版规则

RewriteEngine On
RewriteRule ^/components/com_mijoshop/opencart/image/cache/(.*)/([^-]+)-\d+x\d+\.jpg$ /wp-content/uploads/nc/$1/$2.jpg [R=301,L]

Nginx 扩展版规则

location ~* ^/components/com_mijoshop/opencart/image/cache/(.*)/([^-]+)-\d+x\d+\.jpg$ {
    return 301 /wp-content/uploads/nc/$1/$2.jpg;
}

备注:内容来源于stack exchange,提问作者Rebecca Hubbard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:17:29