2016-12-17 130 views
0

試圖讓我的搜索結果頁面搜索引擎優化..友好..似乎很基本,但我的標籤重寫規則是相沖突的。Opencart作爲搜索引擎優化網頁的搜索頁面

(它也使用product/search路由器) - 禁用標籤重寫,搜索仍然不能正常工作..它顯示任何它想要的,即使我搜索不存在的項目。 (此行爲不正常的index.php下發生路線=產品/搜索URL?)

htaccess的:

RewriteRule ^tags/([^/]*)$ index.php?route=product/search&tag=%{QUERY_STRING} [L] 
RewriteRule ^search/([^/]*)$ index.php?route=product/search&search=%{QUERY_STRING} [L] 

目錄/控制器/啓動/ seo_url.php:

    } elseif ($data['route'] == 'product/search' && $key == 'tag') { 

        $url .= '/tags/' . str_replace(' ','-',$value); 

        unset($data[$key]); 

       } elseif ($data['route'] == 'product/search' && $key !== 'tag') { 

        $url .= '/search/' . str_replace(' ','-',$value); 

        unset($data[$key]); 
        //.... 

有沒有辦法重寫這兩條路線而不選擇其中一條呢?

使用Opencart的2.3.0

回答

0

目錄/控制器/啓動/ seo_url.php

發現:

$this->request->get['route'] = 'error/not_found';

地址:

if (strpos($this->request->get['_route_'], 'tag/') !== false) { 
          $this->request->get['route'] = 'product/search'; 
          $this->request->get['tag'] = str_replace('tag/','',$this->request->get['_route_']); 
         } 
         elseif (strpos($this->request->get['_route_'], 'search/') !== false) { 
          $this->request->get['route'] = 'product/search'; 
          $this->request->get['search'] = str_replace('search/','',$this->request->get['_route_']); 
         } 

        else { 
         $this->request->get['route'] = 'error/not_found'; 
        } 

的.htaccess:

RewriteRule ^tag/([^/]*)$ index.php?route=product/search&tag=$1 [L] 
RewriteRule ^search/(.*)$ index.php?route=product/search&search=$1 [L] 
相關問題