我当前的opencart商店网址结构是http://www.mydomain.com/categoryName/productName,但是当有人点击它时,它会被重定向到www.mydomain.com/productName,这将导致很多页面301,所以我想要将产品页面网址更改为www.mydomain.com/productName(删除类别名称)。但我在cms后端找不到任何选项,所以我想我必须破解主题模板文件来做到这一点?有谁知道怎么做?
我对opencart很新,所以任何帮助都会受到赞赏。
感谢
答案 0 :(得分:0)
如果这只是出于搜索引擎优化的原因,请考虑在rel=canonical
中使用head
链接元素。
在/system/library/document.php
中添加以下内容:
private $canonical = null;
public function setCanonical($canonical) {
$this->canonical= $canonical;
}
public function getCanonical() {
return $this->canonical;
}
在/catalog/controller/product/product.php
:
找到一行:$this->document->setTitle($product_info['name']);
并在其前添加:$this->document->setCanonical($this->url->link('product/product', 'product_id=' . $product_id));
最后,在主题的common/header.tpl
文件中,在<head>
元素中的任意位置添加以下内容:
<?php if ($this->document->getCanonical()): ?>
<link rel="canonical" href="<?php echo $this->document->getCanonical(); ?>"/>
<?php endif; ?>
应该是它。
您可以使用上述原则以与上述产品控制器相同的方式修改您的类别,制造商和信息页面控制器,以确保您不会在这些页面上获得重复的内容SEO问题。
如果您真的想要添加301重定向,则需要检查当前页面网址是否与上述getCanonical()
方法返回的网址相匹配 - 如果没有,则重定向到规范网址。
答案 1 :(得分:0)
1) First you should have to Go to Admin Panel > Setting > Click Edit Your Template and Click Server Tab then Enable Use SEO URLs <br>
2) Go to root folder .htaccess.txt open in editer and save as only .htaccess without extension save remember! your rewrite module setting should be on if you have using xampp or wamp.<br>
3) Now Go to catalog/controller/common/seo_url.php open this file and find this Code <br>
$url .= '/' . $query->row['keyword'];<br>
Replace to this<br>
$url .= '/product/' . $query->row['keyword'];<br>
4) Save Now go to your main page and click any product you will see like this<br>
www.example.com/product/macbook.<br><br>
Regard!<br>
Shehroz
&#13;
答案 2 :(得分:-1)
只需在OpenCart中启用SEO网址即可。 SEO网址默认关闭。我们必须先启用它们。
转到管理员面板 - &gt;系统 - &gt;设置。
点击商店名称右侧的“修改”链接。 商店设置