2016-01-22 1 views
0

Как можно перенаправить дружественный URL-адрес, отличный от seo, на постоянный псевдоним url (301) в OpenCart 2.x? Например, для меня как URL работает http://example.com/index.php?route=account/login и http://example.com/loginКак я могу остановить/перенаправить не seo дружественный url к их псевдониму url в OpenCart 2.x?

Я хотел бы переадресовать 301, когда кто-то ударил Пример URL {точка} ком/index.php? Маршрута = аккаунт/Войти в свой соответствующий пример URL алиас { точка} ком/Логин.

+0

PHP путь - просто обратный seo_url.php код. В oc, он отвечает, чтобы найти маршрут для определенного ключевого слова sef, теперь у вас есть маршрут, найдите ключевое слово sef и перенаправляйтесь к этому пути. –

+0

Можете ли вы поделиться этим кодом? Я немного новичок в открытой тележке. –

+0

У меня та же проблема, и это помогает мне отлично в 2.1, https://stackoverflow.com/questions/32432890/how-to-change-urls-in-a-to-seo-in-opencart-2- x-автоматически – Romain

ответ

0

Я думаю После vqmod_seo_url.xml решить проблему

<modification> 
    <id>seo_url_core</id> 
    <version>1.4.x and above</version> 
    <vqmver required="true">2.x.x</vqmver> 

    <file name="catalog/controller/common/seo_url.php"> 
     <operation error="skip"> 
      <search position="before" offset="0"> 
     <![CDATA[ 
     public function index() { 
     ]]> 
      </search> 
      <add> 
     <![CDATA[ 
       /* SEO Custom URL */ 
       private $url_list = array (
        'common/home'  => '', 
        'checkout/cart'  => 'cart', 
        'account/register' => 'register', 
        'account/wishlist' => 'wishlist', 
        'checkout/checkout' => 'checkout', 
        'account/login'  => 'login', 
        'product/special' => 'special', 
        'affiliate/account' => 'affiliate', 
        'checkout/voucher' => 'voucher', 
        'product/manufacturer' => 'brand', 
        'account/newsletter' => 'newsletter', 
        'account/order'  => 'order', 
        'account/account'  => 'account', 
        'information/contact' => 'contact', 
        'account/return/insert' => 'return', 
        'information/sitemap' => 'sitemap', 
        ); 
       /* SEO Custom URL */ 
     ]]> 
      </add> 
     </operation> 
     <operation error="skip"> 
      <search position="before"> 
     <![CDATA[ 
     if (!isset($this->request->get['route'])) { 
     ]]> 
      </search> 
      <add> 
     <![CDATA[ 
     /* SEO Custom URL */ 
        if ($_s = $this->setURL($this->request->get['_route_'])) { 
          $this->request->get['route'] = $_s; 
       }/* SEO Custom URL */ 
     ]]> 
      </add> 
     </operation> 
     <operation error="skip"> 
      <search position="before" offset="3"> 
     <![CDATA[ 
     if ($url) { 
     ]]> 
      </search> 
      <add> 
     <![CDATA[ 
     /* SEO Custom URL */ 
        if($_u = $this->getURL($data['route'])){ 
        $url .= $_u; 
        unset($data[$key]); 
        } 
       /* SEO Custom URL */ 
     ]]> 
      </add> 
     </operation> 
     <operation error="skip"> 
      <search position="after" index="1" offset="2"> 
     <![CDATA[ 
     return $link; 
     ]]> 
      </search> 
      <add> 
     <![CDATA[ 
     /* SEO Custom URL */ 
        public function getURL($route) { 
          if(count($this->url_list) > 0) { 
           foreach ($this->url_list as $key => $value) { 
            if($route == $key) { 
             return '/'.$value; 
            } 
           } 
          } 
          return false; 
        } 
        public function setURL($_route) { 
          if(count($this->url_list) > 0){ 
           foreach ($this->url_list as $key => $value) { 
            if($_route == $value) { 
             return $key; 
            } 
           } 
          } 
          return false; 
        }/* SEO Custom URL */ 
     ]]> 
      </add> 
     </operation> 
    </file> 

</modification> 
+1

Спасибо @ zed-blackbeard за обмен vqmod для seo url. Я получил решение для этого. –

 Смежные вопросы

  • Нет связанных вопросов^_^