我倾倒了Miva并搬到了ZenCart。
我已经使用htaccess将主要Miva ULR重定向到ZC中的所有不同产品。
但是对于我来说,有404个旧联盟网址在404附近浮动。
我必须在htaccess中删除哪些重写代码以删除& AFFIL = 12345(5位数字不同),然后将字符串的其余部分重定向到新的ZenCart URL?
实施例
从:
中删除变量& AFFIL = 86758然后将点击转发到:
http://www.standardlegal.com/store/index.php?main_page=product_info&products_id=20
感谢您的帮助!
答案 0 :(得分:0)
以下重写将从查询字符串的 end 中删除AFFIL=nnnnn
,但保留查询字符串的其余部分。
RewriteEngine On
RewriteCond %{QUERY_STRING} (?:(.*)&)?AFFIL=\d{5}
RewriteRule .* /store/index.php?%1 [L]
条件保存查询字符串中的所有参数值对(如果有),但不保留affiliate参数及其值。
请注意,您需要使用%
从重写条件引用捕获的组,而不是像重写规则那样引用$
。
[编辑]
以下重定向将处理您提供的示例网址更改:
RewriteEngine On
RewriteCond %{QUERY_STRING} Product_Code=SLS508
RewriteRule ^Merchant2/merchant.mvc /store/index.php?main_page=product_info&products_id=20 [R=301,L]
重写条件意味着此规则仅适用于特定产品。该规则要求重写来自旧站点的基本路径(以防产品代码因任何原因最终出现在新站点的URL中)。我还添加了301重定向而不是静默内部重定向,因为您应该告诉访问者您的网址已经更改。
[/编辑]
作为旁注,我不会使用Zencart,代码库是可怕的并且更新了噩梦。几年前我放弃了使用它并转移到Magento。