301 редирект opencart

Рабочий вариант сделать 301 redirect через htaccess в opencart. Работает на ура!
RewriteCond %{REQUEST_URI} ^/old-url.html$
RewriteRule ^.*$ http://opencart-3038.loc/new-url [R=301,L]
 
Еще один вариант, который работает для Opencart, но его написание чуточку осложняется словом _route_=
RewriteCond %{QUERY_STRING} ^_route_=old-url2.html$
RewriteRule ^(.*)$ http://opencart-3038.loc/new-url2? [R=301,L]
 
Стандартный редирект с одной страницы на другую в OpenCart НЕ работает. Это вот такой:
Redirect 301 /old-url http://opencart-3038.loc/new-url
 
# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

# ----------------------------------------
# 301 Redirects . Begin

# --
# Правила редиректа прописываются в самом начале правил перезаписи

# --
# Вариант редиректа в одну строку (который обычно не работает в OpenCart)
# Redirect 301 /old-url0 http://opencart-3038.loc/new-url0

# --
# Он "заработает", если добавить в конце вопросительный знак - если canonical есть то сгодится. Зато в одну строку.
Redirect 301 /old-url0 http://opencart-3038.loc/new-url0?

# --
# Рабочий вариант редиректа №1
RewriteCond %{REQUEST_URI} ^/old-url.html$ 
RewriteRule ^.*$ http://opencart-3038.loc/new-url [R=301,L]

# --
# Рабочий вариант редиректа №2
# Обязательно ставить вопросительный знак в конце нового адреса. Иначе вечный редирект
RewriteCond %{QUERY_STRING} ^_route_=old-url2.html$
RewriteRule ^(.*)$ http://opencart-3038.loc/new-url2? [R=301,L]

# 301 Redirects . End
# ----------------------------------------

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Добавить комментарий