【发布时间】:2023-01-26 19:35:18
【问题描述】:
我有一个 magento 网上商店,我使用一个插件来导入库存、价格和产品。令人讨厌的是,如果我更新产品名称等,这个插件不会保存旧的 url。 有什么办法可以用 htaccess 做到这一点吗?例如,我从产品 URL 的末尾删除了 SKU,但谷歌已将其中一些旧 URL 编入索引。
是否可以使用通配符将https://www.example.com/xerox-everyday-toner-for-tn242y-yellow-toner-cartridge-006r04226 重写为https://www.example.com/xerox-everyday-toner-for-tn242y-yellow-toner-cartridge?显然,每个产品“墨盒”一词之前的所有内容都会发生变化,因此我想要一个重定向,如果 URL 包含“-cartridge-”,则删除该模式之后的所有内容,因为 SKU 长度可以更改但仅包含字母数字字符。如果 URL 不包含“-cartridge-”,则不要执行任何操作。
我已经使用在线 htaccess 构建器尝试了一些正则表达式模式,但我似乎无法做到这一点(除非这些网站不处理正则表达式,这就是我认为它们不起作用的原因)。
【问题讨论】:
-
RewriteRule (.+-cartridge)-.+$ $1 [R=301,L]应该可以。 (首先使用R=302进行测试,这样如果有什么不起作用,您就不必处理浏览器缓存的重定向) -
这似乎是答案,谢谢。正如建议的那样,我首先尝试使用 302,但初步测试是肯定的
标签: .htaccess mod-rewrite