【问题标题】:Redirect Old Product to new (Opencart) (HTACCESS)将旧产品重定向到新产品 (Opencart) (HTACCESS)
【发布时间】:2013-08-14 20:23:03
【问题描述】:

我想将旧产品 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

谢谢你:)

【问题讨论】:

    标签: .htaccess opencart


    【解决方案1】:

    将此添加到您的网络根/ 中的.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]
    

    【讨论】:

      【解决方案2】:

      您还可以在 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;
      

      没有具体测试,但我有类似的东西可以更改一些网址。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-08
        • 2014-07-31
        • 1970-01-01
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-11
        相关资源
        最近更新 更多