Для выполнения 301 редиректов на сайте на базе OpenCart можно использовать файл .htaccess, который находится в корневой папке сайта.
Для создания 301 редиректа со старой страницы на новую, в .htaccess-файле необходимо использовать следующий код:
Redirect 301 /old-page-url/ http://www.example.com/new-page-url/
В этом коде /old-page-url/ является старой страницей, которая должна быть перенаправлена на новую страницу /new-page-url/, которая находится на том же сайте. А www.example.com это доменное имя вашего сайта, так же, обращаю внимание что если ваш сайт использует ssl сертификат, то вместо http надо указать https.
обращаю внимание, что в кусках кода везде использую
RewriteEngine On
скорей всего данный код в вашем файле уже есть, и если так, копируйте мои куски кода без этой строки, и вставляйте их после нее в вашем файле
Для настройки 301 редиректа с www на без www или наоборот в opencart можно использовать файл .htaccess.
Вот пример кода, который нужно добавить в файл .htaccess для редиректа с www на без www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
В этом примере «example.com» должен быть заменен на ваш домен.
Обратите внимание, что при редиректе с www на без www в файлах config.php, которые находятся один в корне сайта, другой в папке admin, домен должен быть указан не так
// HTTP define('HTTP_SERVER', 'http://www.example.com/admin/'); define('HTTP_CATALOG', 'http://www.example.com/'); // HTTPS define('HTTPS_SERVER', 'http://www.example.com/admin/'); define('HTTPS_CATALOG', 'http://www.example.com/');
а так
// HTTP define('HTTP_SERVER', 'http://example.com/admin/'); define('HTTP_CATALOG', 'http://example.com/'); // HTTPS define('HTTPS_SERVER', 'http://example.com/admin/'); define('HTTPS_CATALOG', 'http://example.com/');
то есть без www.
Ну и если сайт использует ssl сертификат и работает по https, там же в файлах config.php должны адреса начинаться не с http:// а с https://
В этом примере «example.com» должен быть заменен на ваш домен.
Для редиректа с без www на www нужно использовать следующий код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
Опять же, замените «example.com» на свой домен.
После добавления этих правил в файл .htaccess, сохраните изменения и проверьте, работает ли редирект. Также рекомендуется проверить наличие других правил редиректа в файле .htaccess, чтобы убедиться, что новые правила не будут конфликтовать с уже существующими.
Для настройки 301 редиректа с HTTP на HTTPS в Opencart можно использовать файл .htaccess.
Вот пример кода, который нужно добавить в файл .htaccess для редиректа с HTTP на HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Этот код проверяет, включен ли протокол HTTPS, и если он выключен (то есть используется протокол HTTP), то происходит редирект на HTTPS.
После добавления этих правил в файл .htaccess, сохраните изменения и проверьте, работает ли редирект. Также рекомендуется проверить наличие других правил редиректа в файле .htaccess, чтобы убедиться, что новые правила не будут конфликтовать.