1

我想将旧产品 ID 重定向到新产品 ID。

例如:从:h*tp://www.mysite.com/index.php?route=product/product&product_id=50 到:h*tp://www.mysite.com/index.php?route=product/product&product_id =80

或者

从:h*tp://www.mysite.com/index.php?route=product/product&path=63_64_83&product_id=163 到:h*tp://www.mysite.com/index.php?route=product/product&path =63_64_83&product_id=175

谢谢 :)

4

2 回答 2

0

将此添加到您.htaccess的网络根目录中/

RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} (^|.*?&)product_id=50(&.*|$) [NC]
RewriteRule ^(.*)$ $1?%1product_id=80%2 [R=301,L]

RewriteCond %{QUERY_STRING} (^|.*?&)product_id=163(&.*|$) [NC]
RewriteRule ^(.*)$ $1?%1product_id=175%2 [R=301,L]
于 2013-08-08T12:32:00.097 回答
0

您还可以在您的 seo_url 控制器中设置一个不错的开关控件,该控件将使用 Controller 类的重定向方法以更本机的方式执行此操作。

打开:

catalog/controller/common/seo_url.php

就在之前:

if (isset($this->request->get['route'])):
    return $this->forward($this->request->get['route']);
endif;

添加:

if (isset($this->request->get['product_id'])):
    switch ($this->request->get['product_id']):
        case 50:
            $this->request->get['product_id'] = 80;
            $redirect = true;
            break;
        case 163:
            $this->request->get['product_id'] = 175;
            $redirect = true;
            break;
    endswitch;
endif;

if (isset($this->request->get['route']) && $redirect):
    $this->redirect($this->request->get['route'], 301);
endif;

没有专门测试,但我有类似的东西来改变一些网址。

于 2013-08-14T12:23:03.487 回答