在创建我们的汽车电子商务商店时,我们命名了一些名称中带有正斜杠/Virgules 的产品(“/”),例如:VOLKSWAGEN GOLF/GTI
. 电子商务引擎将此产品的 URL 重写为GOLF%7B47%7DGTI
. 我们决定继续并改写我们所有的产品以使用世界“AND”而不是正斜杠/virgule。
我们在网络上有大量链接,我总是使用 mod_rewrite 来确保在我们更改产品命名约定后这些链接仍然有效。然而,这一个让我难住了!这是我正在尝试做的事情:
OLD URL: http://mystore.com/products/MK4-GOLF%7B47%7DGTI-KONI-STRUTS.html
NEW URL: http://mystore.com/products/MK4-GOLF-AND-GTI-KONI-STRUTS.html
URL 的“MK4”部分可以是 Mk1、Mk2、Mk3、Mk4、Mk5 或 Mk6 中的任何一种,我们还为每一代 Golf/GTI 提供各种支柱。因此,我需要编写一个规则,将 URL 中的 Golf/GTI 替换为 GOLF-AND-GTI,并在目标字符串之前或之后保留任何内容。
我当前的(不正确的) RewriteRule 看起来像这样:
RewriteRule ^products/(.*)-GOLF%7B47%7DGTI-(.*) http://www.mystore.com/products/$1-GOLF-AND-GTI-$2 [B,R,L]
在过去的几个小时里,我一直在为此烦恼,但似乎无法制定工作规则。任何帮助将不胜感激!
非常感谢您的宝贵时间!