Меню

Как настроить редирект 301 опенкарт

Редирект для интернет-магазина на Opencart: через плагин или htaccess

Редиректы для интернет-магазина на CMS Opencart можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.

Как сделать редирект через файл htaccess для интернет-магазина на Opencart

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

Redirect 301 site.ru/page1/ site.ru/page2/

  • page1- страница которая будет переадресовывать;
  • page2 – открывающийся документ.

Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/.

Также допускается использование конструкции:

Redirect permanent site.ru/page1/ site.ru/page2/

Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта на Opencart (public_html) лежит файл htaccess :

Как сделать перенаправление на другой домен?

В этом случае необходимо автоматически перекидывать всех пользователей с домена domain1.ru на domain2.ru при помощи функции:

RewriteRule ^(.*)$ http://www.domain2/$1 [R=301,L]

Переадресация с http на https

При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:

Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:

RewriteRule ^(.*)$ https://www.domain.ru/$1 [R=301,L]

Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:

RewriteCond % ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]

Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:

RewriteCond % ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]

301 редирект с домена без WWW на с WWW

В функции ниже осуществляется переход из www.poddomen.domain.ru на poddomen.domain.ru:

RewriteCond % ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Если же первый способ не помог можно использовать данную версию:

RewriteCond % !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

С www на без WWW

RewriteCond % ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://www.poddomen.domain.ru/$1 [R=301,L]

Также имеется второй метод не требующий ввода доменного имени:

C https на http

При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:

301 редирект на http для одной страницы

В этой ситуации подойдет:

Второй метод осуществляет общий переезд на защищенный протокол (https), но одна страница останется на старом протоколе (http). Этот способ подойдет для интеграции 1С Bitrix с 1С Предприятие, так как система не может работать с защищенным протоколом:

Для готовой интеграции с 1С-Битрикс, формула позволяющая исключить директорию bitrix/admin/1c_exchange.php из общего правила:

RewriteCond % !^/bitrix/admin/1c_exchange\.php$ [NC]

Форвардинг на https для конкретной страницы

Для этой цели можно воспользоваться:

RewriteCond % ^/Необходимая директория_страница$

С несуществующего файла

В этом случае можно будет применить:

RewriteRule ^(.*)$ /poddomen/script.php [R=301,L]

Также подойдет второй способ:

RewriteCond % !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Перенаправление на подкаталог

В этом случае возможно пербрасывать пользователей с poddomen.domain.ru на подкаталог poddomen.

RewriteEngine on
RewriteBase /
RewriteCond % !^/poddomen
RewriteCond % ^poddomen.domain.ru$ [NC]
RewriteRule ^index.php(.*)$ /poddomen/$1 [L,QSA]

RewriteEngine on
RewriteBase /
RewriteCond % ^poddomen.domain.ru$
RewriteCond % !/poddomen/
RewriteRule ^(.*)$ /poddomen/$1 [L]

В случае, когда речь идет о www.poddomen.doamin.ru необходимо применить:

RewriteRule ^(.*)$ /poddomen/$1 [L]

С любой страницы на главную

RewriteRule ^(.*)$ index.php [L,QSA]

С поддомена на основной домен

Если требуется выполнить условие для всех поддоменов без исключения:

Читайте также:  Как настроить часы киа сид 2008 года

RewriteCond % ^(.+).domain.ru$
RewriteRule (.*) http://site.ru/$1?region=%1 [L,R=301,QSA]

Когда речь идет о конкретном поддомене следует использовать:

RewriteCond % ^poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

Здесь вводим адрес первой страницы и видим следующее:

Как видим правило применилось и работает корректно.

Возможные проблемы с сайтами Opencart (русской сборки OcStore)

При редактировании файла

Так как в русской сборке OcStore после установки файл имеет имя htaccess.txt следует для исправления выполнить следующую посетить корневую папку сайта и найти файл «.htaccess.txt».

Переименовываем его и удаляем часть «.txt», так, чтобы файл назывался «.htaccess».

Переходим в «Дополнения»-«Менеджер дополнений» и очищаем Кеш (кнопка в правом-верхнем углу).

При работе с HTTPS

В первую очередь следует проверить настройки магазина перед перенаправлением на https так как в противном случае сайт может работать некорректно или не работать вовсе.

Далее переходим в сервер и выбираем.

Прокручиваем список и во вкладке «Безопасность» ставим «Да» у «Использовать SSL».

После этого переходим в на сервер в корневую папку и проверяем файл «config.php».

В нем в части про HTTPS проверяем указан ли адрес сайта как «https://site.ru», если нет указываем.

Аналогично следует проверить корректность отображения административной части, что необходимо сделать перейдя в папку «Admin».

Теперь открываем еще один файла «config.php».

Аналогично ищем ссылки на сайт с защищенным протоколом define и при необходимости исправляем на правильные (с https).

Источник



.htaccess — настройка редиректов и последствия (в т.ч. для Opencart)

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

Порой из-за какой то ерунды типа изменения адреса одного товара происходит несколько страниц писанины бреда и конструированию огромных полотен правил.

Что НЕЛЬЗЯ делать через htaccess

В интернете десятки тысяч инструкций просто копируемых друг у друга десятилетиями. Очень многие из них вредны, т.к. были актуальны для сайтов на голом HTML без формирователя ЧПУ. Современные CMS самостоятельно строят формат адресации на сайте и нельзя вмешиваться в это через htaccess.

Наиболее распространенные вредные правила:

  • Добавление/Удаление слэша на конце
  • Редирект с index.php
  • Попытки убрать технические недочеты вроде route=common/home
  • Удаление/Добавление/Замена .html на конце
  • Редирект с 404 на страницу «Страница не найдена» (даже звучит бредово)

    Что не нужно делать через htaccess

    Множество единичных редиректов

    Файл .htaccess используется при любом обращении к сайту, при открытии каждой страницы идет от одного до нескольких десятков, порой и сотен обращений (в зависимости от настройки связки nginx/apache), при этом каждый раз происходит обработка всех правил в файле. Поэтому не рационально засорение htaccess единичными редиректами. Это, помимо полного бардака и мешанины, замедляет ответ сайта.

    Распространенные последcтвия вмешательства в htaccess

    • неработоспособность всего сайта или определенных страниц
    • выпадение из индекса страниц из-за ошибки или неверных редиректов
    • пессимизация сайта за огромное кол-во скрытых редиректов
    • появление страниц с _route_= и прочими лишними включениями в адресе
    • циклические редиректы (страница сайта выполнила переадресацию слишком много раз / ERR_TOO_MANY_REDIRECTS)
    • появление страниц с повторяющимися сегментами адреса (/qwerty/qwerty/qwerty/qwerty/qwerty)
    • цепочки редиректов (несколько вместо одного), что сильно замедляет или вовсе убивает склейку
    • при большом количестве правил — замедление ответа сервера
    Читайте также:  Как настроить чтобы яндекс почта отправляла уведомления

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

    Когда нужно делать редиректы через htaccess

    В глобальных правилах: за счет работы на более низком уровне, apache позволяет снизить расход ресурсов, т.к. их не много и требуется применение ко всем страницам.

    Редирект с www на без оного, или наоборот

    Редирект на https

    Глобальные редиректы по маске

    Если например произошел переезд с другой CMS. В случае когда на сайте были определенные правила адресации по типу: все товары — site.com/product/XXX, все категории — site.com/category/YYY и т.д. Тогда можно обойтись несколькими правилами. По прошествии нескольких месяцев лучше перенести эти правила на уровень выше и перенаправлять средствами CMS, т.к. к старым адресам уже практически не будет обращений.

    Пример как убрать product/ из адреса:

    ⚠ При наличии внешней ссылочной массы, желательно не менять адресацию на сайте, а перестроить формирователь ЧПУ и обойтись без редиректов.

    ⚠ Все глобальные правила дoлжны идти перед правилами CMS.

    ⚠ Правило WWW должно идти раньше чем https для исключения лишнего звена редиректа

    Когда делать редиректы силами php (не CMS)

    В случаях когда требуется настроить редиректы с адресов вида /product_info.php?products_id=123, /product/?id=345, и т.д., а именно когда есть возможность обратиться напрямую к php-файлу без инициализации CMS.

    Разберем на примере site.com/product_info.php?products_id=XXX.

    Создаем файл product_info.php в корне, где будет список редиректов и мини скрипт

    не забываем в htaccess добавить в исключения путь /product_info.php* дабы избежать цепочек редиректов

    Требование к менеджеру редиректов в CMS

    Основное в случае менеджера редиректов в CMS — это правильный механизм работы.

    ⚠ Самое главное — Условия инициализации

    Поиск/Проверка/Перебор не должен подключаться при каждом обращении к сайту, а только если страница не существует.

    • Не приводит к замедлению работы сайта.
    • Безопасно (редирект не сработает если страница существует и была добавлена по ошибке)

    Разделение правил на части

    Грамотное разделение правил на части позволяет сэкономить ресурсы. Нет необходимости перебирать правила там где они заведомо не сработают.

    Возможность использования дополнительных данных

    Менеджер редиректов может использовать функционал CMS для получения ряда данных, которые затем могут использоваться в механизме автоматизации.

    Когда делать редиректы силами CMS в менеджере редиректов

    Нет опыта и квалификации в работе с htaccess

    Последствия деятельности шаловливыми ручками описал выше. Даже имея опыт, часто можно допустить ошибку/опечатку случайно.

    Множество правил

    Использование инструмента CMS не приводит к засорению htaccess и ряду сопутствующих проблем.

    Да и банально намного удобнее добавлять/удалять/следить/редактировать.

    Правила не являются глобальными

    Если взять средний сайт с 500 уникальными посетителями в день и средней глубиной 3. Это минимум 1500 обращений в день, на самом деле в разы больше. В неделю же минимум 10 тыс. Плюс боты. И если повезет одно обращение будет к искомой странице с редиректом, ради него будет 10 тыс раз читаться правило из htaccess.

    Дополнительный функционал

    Интеграция в CMS дает определенные преимущества. В первую очередь — возможность отслеживания статуса страниц, а так же ряд иных, в том числе работа с БД и автоматизация.

    Читайте также:  Духовой шкаф aeg competence как настроить часы

    Источник

    301 Redirect Opencart 2 ЧПУ

    Как же сделать правильный 301 редирект страниц с применением внутренних SEO ссылок OpenCart? Можно поискать готовые решения среди модулей Opencart 2, но быстрее это сделать вручную.

    Если сделать стандартный редирект 301, то при переходе по старой ссылке вы увидите страницу ошибки, а в адресной строке — примерно такое:

    На днях появилась задача перенести магазин с малоизвестной cms на OpenCart. Но поскольку магазин работал уже давно и его знали поисковики надо было сохранить ссылки на разделы и товары.

    К сожаление ссылки имели вид /ru/раздел/123 и при их подстановке в «SEO Keyword» из-за слешей они выдавали, что страницы не найдена.

    Поэтому для сохранения «веса» в поисковиках и работы старых ссылок пришлось применять 301 redirect.

    Написания 301 редиректа очень просто

    Redirect 301 /старая-страница /новая-страница

    И если Вы не используете SEO Keyword (они же ЧПУ ссылки) в магазине, то достаточно в .htaccess прописать:

    Redirect 301 /ru/раздел/123 /index.php?route=product/category&path=59

    Но если Вы используете ЧПУ ссылки, то тут становиться все немного сложнее.

    Предположим, что ЧПУ ссылка раздела теперь будет выглядеть так new-page.html, то при записи

    Redirect 301 /ru/раздел/123 /new-page.html вы получите страницу при редиректе типа http://site.com/new-page.html?_route_= index.php?new-page.html, которая выдаст «запрашиваемая страница не найдена».

    Для того, что бы этого не происходило в .htaccess надо прописать следующие:

    Redirect 301 /ru/раздел/123 /index.php?route=product/category&path=59
    RewriteCond % ^route=product/category&path=59$
    RewriteRule ^index\.php /new-page.html? [R=301,L]

    Модуль Заказ в 1 клик Opencart 2

    Модуль Быстрый заказ в 1 клик Opencart2 — очень удобное дополнение для вашего магазина.Позволяет упр..

    Модуль Менеджер заказов Opencart 2

    Модуль Менеджер заказов Opencart 2.x — модуль для управления заказами из админки. Модуль позвол..

    Модуль Import YML Opencart 2

    Модуль Import YML Opencart 2 — для импорта yml-файла с товарами в Ваш интернет-магазин. Импорт ..

    Модуль Экспорт YML Opencart 2

    Модуль экспорта товаров на площадку Яндекс.Маркет, Турбо-страницы и другие сервисы, которые принимаю..

    Модуль Горизонтальное мега-меню Opencart 2.x

    Модуль для формирования многоуровневого меню на основе категорий, производителей, товаров, страниц, ..

    Модуль Вертикальное мегаменю для Opencart 2.x

    Модуль для создания вертикального мега-меню в колонке на Opencart 2.x. Очень многофункциональное доп..

    Модуль Opencart Blog для Opencart 2.x

    Большим недостатком системы Opencart 2.x является отсутствие нормального блога записей. Ведь почти к..

    Модуль Стикеры на товары для Opencart 2

    Модуль для прикрепления стикетов к товарам на Opencart 2. Стикеры — это бирки, ленты, штамы, звездоч..

    Слайдер Revolution для Opencart 2.0 — 2.3

    Слайдер №1 для Opencart 2 — это Revolution Slider. Многофукциональный модуль для слайдшоу позволяет ..

    Модуль Скидки для групп покупателей Opencart 2.x

    Модуль Скидки для групп покупателей или Total Customer Group Discount для Opencart 2.x позволяет зад..

    Модуль Отзывы о товарах Opencart 2

    Модуль Отзывы о товарах на отдельной странице и в позиции на сайте для Opencart 2.0.Удобный модуль д..

    Модуль Мультизагрузка картинок товара на Opencart 2

    Модуль позволяет загружать и выбирать одновременно несколько картинок для товара. По умолчанию в O..

    Источник