Opencart产品ID到当前的SEO链接

时间:2015-12-17 20:11:20

标签: php seo opencart vqmod

我正在使用vqmod的ajax(实时搜索)。 我启用了我的搜索引擎优化和产品链接很好。但是,当我通过搜索功能点击产品时,它会将我带到旧的链接:

index.php?route=product/product/&product_id=123

我目前的SEO链接看起来像这样

shop/Datorkomponenter/Chassi/Aerocool-DS-Cube-Devil-Red

我在.XML文件中搜索了Vqmod,我找到了这个代码,也许它连接到旧链接。

select: function(event, ui) {
   if(ui.item.value){
   location = 'index.php?route=product/product/&product_id='+ui.item.value;
     }else{
   $('.button-search').trigger('click');
     }
   return false;
}

无论如何要改变它或修改它?也许从.htaccess重定向?

2 个答案:

答案 0 :(得分:0)

处理这种情况的可能方法是(按照降低期望的顺序):

  1. 使用ajax结果返回seo网址
  2. 执行第二个ajax请求以获取seo url
  3. 在加载产品页面后重定向
  4. 在所有这些场景中,您都希望使用核心Opencart url类,如下所示:

    $url = $this->url->link('product/product', 'product_id=' . $product_id);
    

答案 1 :(得分:-1)

您可以查看以下 .htaccess 代码。

Options +FollowSymlinks

# Prevent Directoy listing 
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/  

RewriteBase /yourshopfolder/
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^system/download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

在根文件夹上创建自己的htaccess文件并将代码放在上面。它会起作用。

我在open-cart版本2.0.2.0 +

中检查了它