OpenCart 3 SEO URL 无法正常工作
OpenCart 3 SEO URLs not working correctly
看来这不是一个罕见的问题,但我找不到合适的解决方案。
我的假设是,既然有 SEO URLs 核心模块,它就应该在没有任何额外模块或 .htaccess 编辑的情况下完成工作。但是在我启用 System/Settings/Server 中的 SEO URL 之后,并不是我所有的 URL 都是 SEO。有的改成了SEO,有的还是index.php?route=account/register
、index.php?route=information/contact
、index.php?route=product/product&path=57&product_id=49
等
我应该怎么做才能解决这个问题?
在 Opencart 3x 中有两种方法可以解决这个问题。
第一种方法
- 转到design/SEOURL
- 点击新增
- 在查询中添加 account/register 或 information/contact 或路由路径或 product/category id。
- 输入关键字(应该是唯一的)
- Select 存储和语言并保存。
第二种方法
请使用以下任何人的免费扩展...
- SEO URL issue fix in Opencart 3.x By Sainent
- Seo Friendly Urls
- SEO_URL remove common/home,information/contact ... index.php
- Opencart Seo All Links
要删除 common/home 您需要更改以下文件
从 catalog/controller/startup 打开 seo_url.php。
找到
} elseif ($key == 'path') {
并替换为
} elseif ($key == 'route') {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "seo_url WHERE `query` = '" . $this->db->escape($value) . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "' AND language_id = '" . (int)$this->config->get('config_language_id') . "'");
if ($query->num_rows && $query->row['keyword']) {
$url .= '/' . $query->row['keyword'];
unset($data[$key]);
} else if ($data['route'] == "common/home") {
$url .= '/';
}
} elseif ($key == 'path') {
希望这个回答对您有所帮助
看来这不是一个罕见的问题,但我找不到合适的解决方案。
我的假设是,既然有 SEO URLs 核心模块,它就应该在没有任何额外模块或 .htaccess 编辑的情况下完成工作。但是在我启用 System/Settings/Server 中的 SEO URL 之后,并不是我所有的 URL 都是 SEO。有的改成了SEO,有的还是index.php?route=account/register
、index.php?route=information/contact
、index.php?route=product/product&path=57&product_id=49
等
我应该怎么做才能解决这个问题?
在 Opencart 3x 中有两种方法可以解决这个问题。
第一种方法
- 转到design/SEOURL
- 点击新增
- 在查询中添加 account/register 或 information/contact 或路由路径或 product/category id。
- 输入关键字(应该是唯一的)
- Select 存储和语言并保存。
第二种方法
请使用以下任何人的免费扩展...
- SEO URL issue fix in Opencart 3.x By Sainent
- Seo Friendly Urls
- SEO_URL remove common/home,information/contact ... index.php
- Opencart Seo All Links
要删除 common/home 您需要更改以下文件
从 catalog/controller/startup 打开 seo_url.php。
找到
} elseif ($key == 'path') {
并替换为
} elseif ($key == 'route') {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "seo_url WHERE `query` = '" . $this->db->escape($value) . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "' AND language_id = '" . (int)$this->config->get('config_language_id') . "'");
if ($query->num_rows && $query->row['keyword']) {
$url .= '/' . $query->row['keyword'];
unset($data[$key]);
} else if ($data['route'] == "common/home") {
$url .= '/';
}
} elseif ($key == 'path') {
希望这个回答对您有所帮助