редирект с http на https опенкарт
Переход на HTTPS в Opencart
Описание перевода сайта на HTTPS в CMS Opencart
OpenCart — платформа электронной коммерции, ориентированная на создание интернет-магазинов.
Как преимущества программного обеспечения официальный сайт отмечает следующие пункты:
Перевод сайта на работу по протоколу https обеспечивает защиту от атак, основанных на прослушивании сетевого соединения.
Для этого в файле config.php в корневой директории вашего сайта измените URL на HTTPS:
Далее в папке admin также откройте config.php и добавьте протокол HTTPS:
Настройки HTTPS в админке OpenCart
Авторизуйтесь в админ-панели вашего сайта по ссылке вида http://имя_сайта/admin.
Далее перейдите в раздел Система — Настройки и напротив вашего магазина нажмите иконку редактирования.
На вкладке Сервер в пункте Использовать SSL установите галочку Да и сохраните настройки.
Далее настройте перенаправление всех посетителей на HTTPS.
Указанные ниже правила нужно добавлять в .htaccess в корневой папке сайта между строками RewriteEngine On и RewriteBase /.
Если у вас основное зеркало сайта без www:
Если у вас основное зеркало с www:
Если у Вас возникли трудности в настройке или появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.
Как подключить SSL на Opencart 3 и перейти с протокола HTTP на HTTPS
В этой статье речь пойдет о переводе вашего сайта на защищенный протокол HTTPS.
Прежде всего нам нужно подключить SSL сертификат к своему сайту в панели управления хостинга.
Как правило на сегодняшний день почти на всех хостингах есть возможность подключить к сайту бесплатный SSL сертификат (например: Lets Encrypt). Либо купить и подключить платный SSL сертификат, на ваш выбор. Более подробно об этом вы можете узнать в службе поддержки вашего хостинг-провайдера.
Включаем поддержку SSL в админке Опенкарт 3
Настраиваем поддержку протокола HTTPS на сервере Opencart 3.
3. Далее переходим в папку «/admin/ » и открываем файл «/admin/config.php»
Найдим строки:
После редактирования обязательно сохраните файлы.
После этого обновите кэш системы и модификаторов.
SSL сертификат и протокол HTTPS вашем магазине подключен!
Но это еще не все.
После всех выше проделанных действий ваш сайт станет доступен по протоколу HTTPS.
Но, он по прежнему останется доступен еще и по протоколу HTTP.
А это не очень хорошо для поискового продвижения.
Что бы исключить зеркала сайта нужно настроить редирект с HTTP на HTTPS
Одновременно с этим настраиваем редирект с www.site.ru на site.ru что бы полностью склеить все зеркала вашего сайта.
Для этого снова идем на сервер в корневую директорию вашего сайта и находим там файл «.htaccess».
Если такого файла нет, а вместо него есть файл «.htaccess.txt» то переименовываем «.htaccess.txt» в «.htaccess» (то есть убираем «.txt»).
Открываем этот файл в редакторе, находим строку ‘RewriteBase /’ и ниже добавляем следующий код
Сохраняем файл, очищаем кеши, в том числе и кеш вашего браузера и проверяем работу сайта.
Еще важный момент! В связи с тем, что у разных хостинг-провайдеров разные настройки серверов, этот вариант редиректа может работать не на всех серверах.
Если редирект не сработал, можно попробовать другие варианты, опубликованные ниже, либо обратиться к вашему хостеру за правильным решением.
Как перевести OpenCart с http на https
Дата публикации: 2018-03-06
От автора: приветствую вас, друзья. Итак, мы продолжаем цикл статей, посвященных знакомству с одной из популярнейших CMS для создания интернет-магазинов – OpenCart (Оперкарт). В этой статье мы поговорим о том, как перевести OpenCart с http на https.
Сегодня вопрос перевода сайта с протокола http на https становится все более актуальным, особенно для интернет-магазинов. Google все чаще сообщает о том, что сайты доступные по защищенному соединению https, будут поощраться поисковиком и рекомендует переводить сайты на https. Давайте же посмотрим, как перевести сайт на Опенкарт с http на https.
Первое и основное, что вам потребуется, это установить SSL-сертификат. Это отдельный вопрос, который лучше уточнить в саппорте вашего хостинга. На многих хостингах предлагают сертификаты и часто хостеры помогают с этим вопросом. Если это не ваш случай, тогда вам придется самостоятельно приобрести сертификат в любом центре сертификации, а затем установить его для вашего домена (опять-таки, здесь нужна инструкция от вашего хостера).
Также можно поискать варианты бесплатного получения сертификата, но если у вас более-менее серьезный проект, тогда я бы все же советовал вам заплатить небольшую сумму за сертификат. В своей практике мне случалось использовать бесплатный сертификат, который не принимался одной из последних версий iOS, в результате чего сайт попросту не загружался на некоторых устройствах Apple. Впрочем, даже покупной сертификат не гарантирует на все 100% доступность сайта, но все же известные центры сертификации надежнее.
Итак, предполагаем что SSL-сертификат вы уже установили, осталось настроить OpenCart. Начнем с файлов config.php в корне сайта и в папке admin. В первом файле нам нужно найти соответствующую константу HTTPS_SERVER и изменить ее значение, указав доступность сайта по https:
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Редирект для интернет-магазина на Opencart: через плагин или htaccess
Редиректы для интернет-магазина на CMS Opencart можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.
Как сделать редирект через файл htaccess для интернет-магазина на Opencart
Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:
Redirect 301 site.ru/page1/ site.ru/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 %
RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]
Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]
301 редирект с домена без WWW на с WWW
В функции ниже осуществляется переход из www.poddomen.domain.ru на poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ http://www.poddomen.domain.ru/$1 [R=301,L]
Если же первый способ не помог можно использовать данную версию:
С www на без WWW
RewriteCond %
RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]
Также имеется второй метод не требующий ввода доменного имени:
RewriteCond %
RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]
C https на http
При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:
301 редирект на http для одной страницы
В этой ситуации подойдет:
Второй метод осуществляет общий переезд на защищенный протокол (https), но одна страница останется на старом протоколе (http). Этот способ подойдет для интеграции 1С Bitrix с 1С Предприятие, так как система не может работать с защищенным протоколом:
Для готовой интеграции с 1С-Битрикс, формула позволяющая исключить директорию bitrix/admin/1c_exchange.php из общего правила:
RewriteCond %
Форвардинг на https для конкретной страницы
Для этой цели можно воспользоваться:
RewriteCond %
С несуществующего файла
В этом случае можно будет применить:
RewriteRule ^(.*)$ /poddomen/script.php [R=301,L]
Также подойдет второй способ:
RewriteCond %
RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]
Перенаправление на подкаталог
В этом случае возможно пербрасывать пользователей с poddomen.domain.ru на подкаталог poddomen.
RewriteEngine on
RewriteBase /
RewriteCond %
RewriteCond %
RewriteRule ^index.php(.*)$ /poddomen/$1 [L,QSA]
RewriteEngine on
RewriteBase /
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ /poddomen/$1 [L]
В случае, когда речь идет о www.poddomen.doamin.ru необходимо применить:
RewriteRule ^(.*)$ /poddomen/$1 [L]
С любой страницы на главную
RewriteRule ^(.*)$ index.php [L,QSA]
С поддомена на основной домен
Если требуется выполнить условие для всех поддоменов без исключения:
RewriteCond %
RewriteRule (.*) http://site.ru/$1?region=%1 [L,R=301,QSA]
Когда речь идет о конкретном поддомене следует использовать:
RewriteCond %
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
Позволяет отдавать файлы, которые физически находятся за пределами root директории, но на которые есть ярлыки (symbolic link). Нужно для работы mod_rewrite
Запрет прямого доступа к файлам с указанными расширениями, кроме robots.txt. Тут же закомментировано сообщение:
Можно заменить на альтернативный тип записи.
Блок mod_rewrite
Включение модуля mod_rewrite для модификации SEO URL.
Область преобразования. В этом случае весь магазин. Можно ограничить директорией, если ваш сайт инсталлирован в директории, например: RewriteBase /shop
Во время обращения к XML карте сайта по URL site.com/sitemap.xml перенаправляет на site.com/index.php?route=extension/feed/google_sitemap
То есть на динамическую карту сайта, которая генерируется стандартным модулем Opencart.
Если предыдущие регулярные выражения из директив RewriteRule не подошли, выполнение идет дальше.
Если файл, указанный в запросе не существует, тогда проверка продолжается и может выполниться строка с директивой RewriteRule.
Если index.php присутствует, то проверка не прошла, директива RewriteRule не выполнится, а файл index.php в итоге и загрузится со всеми get-параметрами (если есть).
Если запрашиваемый каталог (папка) не существует
Если запрашивается не файл с одним из указанных расширений
Тогда любой запрос переадресовывается на site.com/index.php?_route_[после параметра _route_ подставляется то, что запрашивалось – любая строка указанная в URL после домена]
GET-параметры, с помощью регулярного выражения, подставляются в строке вместо «$1»
Данная директива выполнится, если в URL не был указан файл index.php, что происходит в т. ч. при включении ЧПУ URL. В процессе загрузки приложения, проверяется, было ли включено ЧПУ в настройках. Если нет, то при получении параметра _route_ осуществится вызов контроллера ‘common/home’, который выведет домашнюю (главную) страницу. Если же ЧПУ было включено, выполняется контроллер ControllerStartupSeoPro из файла catalog\controller\startup\seo_pro.php или другой выбранный, где параметр _route_ будет разобран на части и из таблицы базы данных url_alias по переданным в GET-запросе элементам найдены алиасы, которые укажут скрипту путь к контроллеру/методу, который необходимо вызвать для вывода страницы.
Далее идут дополнительные настройки, которые могут понадобиться в специфичных ситуациях.