如何更改opencart url结构

时间:2013-11-01 04:40:37

标签: php opencart

我当前的opencart商店网址结构是http://www.mydomain.com/categoryName/productName,但是当有人点击它时,它会被重定向到www.mydomain.com/productName,这将导致很多页面301,所以我想要将产品页面网址更改为www.mydomain.com/productName(删除类别名称)。但我在cms后端找不到任何选项,所以我想我必须破解主题模板文件来做到这一点?有谁知道怎么做?

我对opencart很新,所以任何帮助都会受到赞赏。

感谢

3 个答案:

答案 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)

&#13;
&#13;
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;
&#13;
&#13;

答案 2 :(得分:-1)

只需在OpenCart中启用SEO网址即可。 SEO网址默认关闭。我们必须先启用它们。

  1. 转到管理员面板 - &gt;系统 - &gt;设置。

  2. 点击商店名称右侧的“修改”链接。 商店设置

  3. 点击“服务器”标签。你会找到一个选项 - “使用SEO URL”。点击它前面的“是”。保存选项。