0

在创建我们的汽车电子商务商店时,我们命名了一些名称中带有正斜杠/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]

在过去的几个小时里,我一直在为此烦恼,但似乎无法制定工作规则。任何帮助将不胜感激!

非常感谢您的宝贵时间!

4

1 回答 1

1

作为%7B47%7D解码,{47}您可以按如下方式重写 URL:

RewriteRule ^products/(.*)-GOLF\{47\}GTI-(.*) http://www.mystore.com/products/$1-GOLF-AND-GTI-$2 [B,R=301,L]

此外,由于您打算用新 URL 替换旧 URL,因此您应该使用 301 重定向而不是默认的 302。这是从 SEO 角度处理永久 URL 更改的推荐方法

于 2012-12-05T18:09:42.777 回答