Блог Сергея Арсентьева

Создание и продвижение сайтов с нуля.
Только реальные способы заработка в сети.
Проверено на личном опыте.

Правильный редирект в магазине Опенкарт (Opencart / OcStore 2.х)

Обычный редирект в магазинах на Opencart CMS не срабатывает и выдает ошибку Internal Server Error (500). Решается эта задача с помощью другого синтаксиса Redirect 301.Все началось с того, что меня один клиент по продвижению попросил сделать редирект в его магазине Opencart 2.1.

Изменились ссылки на статьи, о магазине, товары и категории.

А я согласился, совсем забыв, что в магазинах Opencart эти редиректы делаются через одно место, стандартный синтаксис с Redirect 301 не работает!

В итоге вместо нескольких минут задача заняла у меня целый день, включая поиск в интернете правильного решения, тестирования и создание своего файлика XLS, чтобы больше вручную не делать все эти редиректы в Опернкарте.

Делюсь найденным решением с вами.

Прописываем правильный редирект в Opencart вручную

Итак, открываем файл .htaccess, он находится в корне сайта, для этого понадобится доступ по FTP (может пригодится как зайти по FTP на сайт).

И где-нибудь в начале файл после директивы RewriteEngine On вставляем редиректы.

Прежде всего, еще раз напомню, что стандартный редирект вида:

Redirect 301 старый адрес http://новый адрес

банально не работает и выдает ошибку.

Чтобы победить его в .htaccess нужно прописать другую конструкцию:

RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$
RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? [R=301,L]

Проверил в разных вариантах — все работает отлично.
Спасибо за решение неизвестному автору.

Автоматизировать редирект Opencart

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

И поэтому если у вас есть список старых URL-адресов и новых, то задача сделать из них редирект — вопрос нескольких формул в Excel.

Вот что получилось:

В результате можно сразу загнать в файл весь список старых адресов и напротив них — новые, и получить готовый редирект для Opencart и Ocstore.

Качайте файл с моего сервера.

Скачать бесплатно

Прямо сейчас вы можете скачать нужный файл с моего сервера — это просто и бесплатно. Достаточно кликнуть на любой значок соцсети, в которой вы, разумеется, имеете аккаунт и оставить сообщение в выбранной соцсети, после чего вам откроется скрытое содержимое.

Если после клика на социальный замок не показывается содержимое (такое бывает иногда в зависимости от браузера), то есть такие варианты:

  • Попробуйте другую соцсеть или зайти из другого браузера
  • Оставьте страницу подождать какое-то время (в новой полной версии соцзамка есть таймер обратного отсчета, он в углу показывает оставшееся время до самооткрытия).
  • Заходите в спецархив — я тут выкладываю ссылки на все файлы (https://moytop.com/about-archive-moytop)

Массовый редирект на новый домен

Ну и в заключении приведу простой код для массового редиректа всех страниц в магазине при переезде на новый домен или как в данном случае — когда хочется чтобы сайт был доступен с разных доменов, например, GrillKraft.ru и GrillCraft.ru.

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

RewriteEngine On
RewriteBase /
#RewriteCond %{HTTP_HOST} ^(www\.)?xn--80afpie2adrr0f\.xn--p1ai$ [NC,OR] RewriteCond %{HTTP_HOST} ^(www\.)?grillcraft\.ru$ [NC] RewriteRule ^(.*)$ http://grillkraft.ru/$1 [R=301,L]

Там где # — это строка значит закомментирована.
Она здесь, чтобы показать как делать редирект с кириллистического домена магазина.

Добавляйте эту конструкцию в .htaccess файл старого сайта и у вас будет происходить 301 редирект в вашем магазине со всех страниц старого домена на новый.

Подробнее об авторе
“Измени свои привычки, и изменится твоя жизнь..”
Специалист по созданию и продвижению сайтов (SEO и реклама), фрилансер с многолетним опытом.
Статистика блога
  • Всего материалов на сайте: 178
  • Активных комментариев: 2 426
  • Работает онлайн: 4.8 года
  • Читателей за это время: 1 373 053

Было интересно - жми на звезды:



Комментарии на блоге
Комментариев | (6)
  • Спасибо Вам огромное! Два дня лапатил этот 301 и тут всё получилось!

    Комментировать
  • Спасибо! Метод помог настроить редиректы, долго мучался. :yes:

    Комментировать
  • Отлично! То что надо… Спасибо огромное!

    Комментировать
  • Спасибо! Возникла такая ситуация, что 301 редирект с одной страницы сделал. Затем хотел сделать еще один, вставил строки в файл и появилась ошибка, которая не позволяет зайти на сайт. Почему так можете подсказать?

    Комментировать
    • где-то проблема в синтаксисе.
      что-то не так скопировалось или вставилось, или не туда, или что-то заменили.
      в htaccess важна каждая мелочь.
      попробуйте еще раз внимательно вернуть назад и внести новый редирект.

      Комментировать
  • Ярослав

    А мне помогло вот так:

    RewriteCond %{QUERY_STRING} ^route=information/contact$
    RewriteRule ^(.*)$ contacts? [R=301,NC,L]

    Комментировать
Добавить свой комментарий
Подписка на бесплатные уроки
Подписаться!
Подробнее в Установки и настройки, Установки и настройки
Гугл поддерживает SSL
Google опять пугает владельцев сайта: на этот раз SSL

Уже не в первый раз мировой гигант Google баламутит спокойствие в IT-сообществе. На этот раз он обещает придушить те сайты,...

Сертификат SSL бесплатно
Бесплатный SSL сертификат для сайта

Бесплатный сертификат SSL для своего сайта вполне реально можно получить, немного порыскав по интернету в поисках халявы.

Закрыть