Редирект на Opencart 2.3 (Решение)

saint_george

Пользователь
Всем привет!

После перехода на OpenCart 2.3.0.2 столкнулся с проблемой редиректов.
Нужно было настроить редирект некоторых системных страниц на свои собственные, а также сделать редирект старых ссылок на новые, дабы не терять трафик на ходовые товары.

Перепробовал очень много вариантов, но помог только один.
Делюсь им с Вами.

В файле .htaccess прописать следующие (показываю собственный пример):

Redirect 301 /contact-us/ /contact/?
RewriteCond %{QUERY_STRING} ^route=/contact-us/
RewriteRule ^index\.php /new-page.html? [R=301,L]

где "contact-us" - старая страница, с которой делаем редирект, а "contact" - новая страница, на которую делаем редирект.
 

Skyer

Пользователь
Можно немного упростить выражение, тоже будет работать:

RewriteCond %{QUERY_STRING} ^_route_=page_1.html$
RewriteRule ^(.*)$ /page_2.html? [R=301,L]
 

фдлщк

Пользователь
Как прописать редирект с HTTP на HTTPS для OpenCart 2.3.0.2?
RewriteEngine On
# www -> ssl non www
RewriteCond %{HTTP_HOST} !^ВАШ САЙТ\.ru$ [NC]
RewriteRule ^(.*)$ https://ВАШ САЙТ.ru/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^index\.php$ https://%{HTTP_HOST}? [R=301,L]

# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^(.*)/$ /$1/?%1 [R=301,L]
 

.A.R.T.

Пользователь
Использую такие строки (редирект с WWW на без WWW и с HTTP на HTTPS):

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
 
Сверху