Как изменить URL-адреса в <a> на seo в Opencart 2.x автоматически?

Я использую версию Opencart 2.x и магазин, установленный в / в подкаталоге. Я знаю, как включить seo_url (.htaccess.txt -> .htaccess, установить RewriteBase в / shop / и включить URL-адреса SEO в панели администратора).

Seo работает, и мои ссылки, такие как information/information_id=1 изменены на /faq и т. Д.

Проблема в том, что если я добавлю в записи таблицы url_alias: inforamtion/contact = contact – этот URL-адрес работает, но на сайте он по-прежнему выглядит как /shop/index.php?route=information/contact не как /shop/contact

Я предположил, что это должно быть изменено автоматически, но нет. Все ссылки сайта на товар, категории и информационные страницы были изменены, но добавленные мной вручную – НЕ. Зачем?

PS: Я могу изменить его в коде, но думаю, что это нехорошее решение. Предположим, что существует правильный способ делать то, что мне нужно.

Solutions Collecting From Web of "Как изменить URL-адреса в <a> на seo в Opencart 2.x автоматически?"

Я не уверен, что у вас уже есть ответ на ваш вопрос, но я все равно оставлю его здесь, так как мне понадобилось пару дней, чтобы понять это.

Чтобы перейти от /index.php?route=information/contact к /index.php?route=information/contact /contact , вам требуется два шага

(Вероятно, вы уже сделали шаг 1)

  1. Выполните следующие вставки в базе данных OC. Это охватывает все (что касается 2.1.0.1, по крайней мере) системных страниц, которые позволяют теперь настройки SEO. Вы можете изменить ключевые слова так, как вам кажется более подходящим.
 INSERT INTO url_alias (query, keyword) VALUES ('common/home', ''); INSERT INTO url_alias (query, keyword) VALUES ('account/wishlist', 'wishlist'); INSERT INTO url_alias (query, keyword) VALUES ('account/account', 'my-account'); INSERT INTO url_alias (query, keyword) VALUES ('checkout/cart', 'shopping-cart'); INSERT INTO url_alias (query, keyword) VALUES ('checkout/checkout', 'checkout'); INSERT INTO url_alias (query, keyword) VALUES ('account/login', 'login'); INSERT INTO url_alias (query, keyword) VALUES ('account/logout', 'logout'); INSERT INTO url_alias (query, keyword) VALUES ('account/order', 'order-history'); INSERT INTO url_alias (query, keyword) VALUES ('account/newsletter', 'newsletter'); INSERT INTO url_alias (query, keyword) VALUES ('product/special', 'specials'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/account', 'affiliates'); INSERT INTO url_alias (query, keyword) VALUES ('checkout/voucher', 'gift-vouchers'); INSERT INTO url_alias (query, keyword) VALUES ('product/manufacturer', 'brands'); INSERT INTO url_alias (query, keyword) VALUES ('information/contact', 'contact-us'); INSERT INTO url_alias (query, keyword) VALUES ('account/return/insert', 'request-return'); INSERT INTO url_alias (query, keyword) VALUES ('information/sitemap', 'sitemap'); INSERT INTO url_alias (query, keyword) VALUES ('account/forgotten', 'forgot-password'); INSERT INTO url_alias (query, keyword) VALUES ('account/download', 'downloads'); INSERT INTO url_alias (query, keyword) VALUES ('account/return', 'returns'); INSERT INTO url_alias (query, keyword) VALUES ('account/transaction', 'transactions'); INSERT INTO url_alias (query, keyword) VALUES ('account/register', 'create-account'); INSERT INTO url_alias (query, keyword) VALUES ('product/compare', 'compare-products'); INSERT INTO url_alias (query, keyword) VALUES ('product/search', 'search'); INSERT INTO url_alias (query, keyword) VALUES ('account/edit', 'edit-account'); INSERT INTO url_alias (query, keyword) VALUES ('account/password', 'change-password'); INSERT INTO url_alias (query, keyword) VALUES ('account/address', 'address-book'); INSERT INTO url_alias (query, keyword) VALUES ('account/reward', 'reward-points'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/edit', 'edit-affiliate-account'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/password', 'change-affiliate-password'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/payment', 'affiliate-payment-options'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/tracking', 'affiliate-tracking-code'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/transaction', 'affiliate-transactions'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/logout', 'affiliate-logout'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/forgotten', 'affiliate-forgot-password'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/register', 'create-affiliate-account'); INSERT INTO url_alias (query, keyword) VALUES ('affiliate/login', 'affiliate-login'); 

Где на фронте находятся сторонние URL-адреса, отличные от SEO (те, у которых есть index.php? Route = in them)? Если вы скопировали / вставляли какие-либо в разметку в своих шаблонах, они останутся такими, какими они есть. Opencart также имеет различные переадресации и вещи, жестко закодированные в его файлы контроллеров, которые могут перенаправлять на такой URL-адрес. Таким образом, это зависит от того, где эти ссылки находятся на вашем сайте.