Редиректы

09 Декабря 2019 15:06

Стандартные редиректы

С одной страницы на другую

Можно использовать если страницы отличаются по url.

Redirect 301 /index.php http://site.ru/

Редирект с учетом внутренних страниц

То есть редирект будет происходить с внутренней страницы одного домена на такую же внутреннюю страницу другого домена

Например, тут будет осуществляться переход с http://old-site.ru/example/ на http://new-site/example/

RewriteEngine On
RewriteCond %{HTTP_HOST} old-site.ru
RewriteRule (.*) http://new-site.ru/$1 [R=301,L]

Редирект с конкретных страниц

Если нужно редиректнуть с одной конкретной внутренней страницы на другую внутреннюю страницу на другом сайте

RewriteCond %{REQUEST_URI} ^/test/$  
RewriteRule ^.*$ http://www.new-site.ru/test.html? [R=301,L]

Редирект с http на https

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Для CMS modx. Чтобы редирект происходил с http на https с сохранением ЧПУ, необходимо добавить в начало файла htaccess следующие строки:

 

RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]