如何在OpenCart中自定义系统URL?例如,我希望http://example.com/index.php?route=checkout/cart显示为http://example.com/cart
我知道OpenCart为产品,类别,制造商和信息页面提供了SEO URL,但看起来并没有内置任何内容(至少在1.5.0版之前) .
如何在OpenCart中自定义系统URL?例如,我希望http://example.com/index.php?route=checkout/cart显示为http://example.com/cart
我知道OpenCart为产品,类别,制造商和信息页面提供了SEO URL,但看起来并没有内置任何内容(至少在1.5.0版之前) .
7 回答
事实证明,这可以通过对单个文件进行相对简单的更改来完成 . 没有.htaccess重写规则,只需修补catalog / controller / common / seo_url.php文件,并将漂亮的URL添加到现有的数据库表中 .
The patch to seo_url.php:
需要进行两次编辑 . 第一个扩展
index()
函数以在url_alias
表中查找与$this->request->get['_route_']
匹配的任何关键字 .第二个扩展了
rewrite()
函数,以查看所有路径的url_alias
表,而不仅仅是产品,制造商和信息页面 .Adding entries to the database:
而已 . http://example.com/cart应返回与http://example.com/index.php?route=checkout/cart相同的内容,OpenCart应识别
$this->url->link('checkout/cart');
并返回指向漂亮网址的链接http://example.com/cart我正在使用Opencart版本1.5.5.1,这是对我有用的确切代码:
一个简单的"no code"方法是安装vQmod . 说明:vQmod install wiki
然后将此Opencart forum thread中可用的xml文件上载到vqmod / xml /文件夹 .
xml包含一个相对容易阅读的脚本,它可以映射类似于上面两个答案的URL,但不修改核心文件 . 所以网站更新不会杀死它 .
把它放在index.php文件的顶部附近 . 这是唯一对我有用的解决方案 .
vQmod xml文件
OpenCart SEO for OpenCart 1.5.X免费:)
你可以随意使用 . 类别名称/ ID / ID可以更快地解决SEO问题
根据您需要的自定义级别,可以使用一些扩展,包括免费扩展 .
This one适用于OpenCart 1.5和OpenCart 2,看起来非常可定制 . 但是,它不支持自定义像"checkout/cart"或"account/wishlist"这样的硬编码URL部分 .
Here是OpenCart 2.0的vQmod(可能适用于1.5,未经测试)适用于前面提到的扩展,允许将这些硬编码字符串更改为您想要的任何内容,并支持多语言网站 .
例如 . “checkout / cart”将成为英语的“cart”,法语的“panier”等 .