2017-01-09 188 views
0

嗨我想將我當前的產品網址結構更改爲新的網址結構,但由於與我的產品關聯的用戶,我希望保留舊網址的結構。將舊網址重定向到新的網址格式

如何在不爲每個產品手動創建301重定向的情況下執行此操作?

+0

認真嗎?你想爲每一個產品創建一個重定向嗎?我不是你必須在你的htaccess中創建一些規則:如果old_url然後重定向到具有相同參數的new_url。休任務。祝你好運。 – PrestaAlba

+0

更具體一點,你的新老網址結構是什麼? –

回答

0

不知道你有什麼,只是想在一個1.6.1.6 的Prestashop版本,您可以將這個控制裝置:

<?php 
class Dispatcher extends DispatcherCore 
{ 
    protected function loadRoutes($id_shop = null) 
    { 
     parent::loadRoutes($id_shop); 

     $language_ids = Language::getIDs(); 

     if (isset($context->language) && !in_array($context->language->id, $language_ids)) { 
      $language_ids[] = (int)$context->language->id; 
     } 

     foreach ($language_ids as $id_lang) { 
      foreach ($this->default_routes as $id => $route) { 
       if($id == "product_rule") 
        $this->addRoute(
         'product_rule2', 
         '{id}-{rewrite}{-:ean13}.xhtml', 
         'product', 
         $id_lang, 
         $route['keywords'], 
         isset($route['params']) ? $route['params'] : array(), 
         $id_shop 
        ); 
      } 
     } 
    } 
} 

在這種情況下,我使用XHTML第二個規則(如果沒有這個覆蓋它給了一個404)。您可以將{id} - {rewrite} { - :ean13} .xhtml更改爲您的規則,然後更改SEO中的規則以希望您希望新規則成爲。

0

請寫下您的ps版本。如果你使用1.5或以上?

您現在使用此結構{category:/} {id} - {rewrite} { - :ean13} .html?或 {類別:/} {改寫} { - :EAN13}的.html或此{類別:/} {}改寫的.html

請寫出更多細節

取決於它只是讓htaccess的規則 ( [0-9] +)的ID (。*)用於重寫 並請使用RedirectMatch永久 並且被設置爲$ 1,$ 2的結果,等

該指南必須幫助瞭解htaccess的URL重寫https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

相關問題