URL-адреса SEO OpenCart 3 работают неправильно

Похоже, это не редкая проблема, но я не смог найти для нее подходящего решения.

Я предполагаю, что, поскольку есть основной модуль URL-адресов SEO, он должен работать без каких-либо дополнительных модулей или правок .htaccess. Но после того, как я включу URL-адреса SEO в System/Settings/Server, не все мои URL-адреса будут SEO. Некоторые из них меняются на SEO, но другие по-прежнему выглядят как index.php?route=account/register, index.php?route=information/contact, index.php?route=product/product&path=57&product_id=49 и т. д.

Что мне делать, чтобы исправить это?


person mikebrsv    schedule 10.05.2018    source источник


Ответы (1)


Есть два способа решить эту проблему в Opencart 3x.

Первый метод

  1. Перейти к дизайну/SEO URL
  2. Нажмите Добавить новый
  3. В запросе добавьте учетную запись/регистрацию или информацию/контакт или путь маршрута или идентификатор продукта/категории.
  4. Введите ключевое слово (должно быть уникальным)
  5. Выберите магазин и язык и сохраните его.

Второй метод

Пожалуйста, используйте любое бесплатное расширение из следующих...

  1. Исправлена ​​проблема с SEO URL в Opencart 3.x Сайнент
  2. SEO-дружественные URL
  3. SEO_URL удалить общий/главный,информация /контакт ... index.php
  4. Все ссылки Opencart SEO

Для удаления общего/домашнего необходимо изменить следующие файлы

Откройте 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') {

Надеюсь, этот ответ поможет вам

person Ziauz    schedule 10.05.2018
comment
Спасибо за Ваш ответ! Итак, если я не хочу использовать какие-либо дополнительные модули, мне следует изменить все URL-адреса вручную? Я имею в виду, что я довольно новичок в OpenCart, поэтому я не знаю на данный момент, если это просто URL-адрес SEO основного модуля OC не работает из коробки, как предполагается (измените ВСЕ URL-адреса на SEO, например, Pathauto от Drupal, а не только некоторые из них) или что-то не так с моей настройкой? - person mikebrsv; 12.05.2018
comment
@mikebrsv да, вам нужно изменить все URL-адреса вручную, если вы не хотите использовать какое-либо расширение, но для удаления общего/домашнего вы должны изменить код в файле seo_url.php (обновлено в ответе). Если ответ помог вам, пожалуйста, примите ответ. - person Ziauz; 12.05.2018