Opencart 301 редирект в htaccess
Що таке 301 редирект?
301 редирект повідомляє пошуковій системі, що вебсторінка назавжди переміщена на нову адресу.
Що таке htaccess?
Це файл додаткової конфігурації веб-сервера Apache. Він розташовоний в кореневій папці сайту.
Як зробити 301 редирект для Opencart?
Для цього необхідно прописати спеціальне правило у файлі .htaccess. Для вебсервера Apache використовується така конструкція:
RewriteCond %{QUERY_STRING} ^_route_=(Старий url без домена)$
RewriteRule ^(.*)$ (Новий url з доменом та https)? [R=301,L]
Дужки використані для виділення тексту і в реальній конструкції їх вживати не потрібно.
Для прикладу, стара сторінка розміщена за адресою: https://old.site.ua/old-category/old-product
Потрібно налаштувати редирект на нову адресу: https://new.site.ua/new-category/new-product
Отже, прописуємо таку конструкцію:
RewriteCond %{QUERY_STRING} ^_route_=old-category/old-product$
RewriteRule ^(.*)$ https://site.ua/new-category/new-product? [R=301,L]
Редирект для багатомовних сайтів
Уявімо, що вміст сайту доступний також англійською мовою з префіксом /en: https://old.site.ua/en/old-category/old-product
і ми переспрямовуємо на нову адресу: https://new.site.ua/en/new-category/new-product
Запис в htaccess виглядатиме наступним чином:
RewriteCond %{QUERY_STRING} ^_route_=en/old-category/old-product$
RewriteRule ^(.*)$ https://site.ua/en/new-category/new-product? [R=301,L]