Различные правила редиректа через .htaccess

Простое перенаправление с одного сайта на другой:
Redirect 301 / https://куда_перенаправляем.pw/
Результат перенаправления:
Редирект с https на http:
RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
Результат перенаправления:
Редирект с http на https
SetEnv HTTPS on # <-для устранения ошибки «Сайт выполнил переадресацию слишком много раз»
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Настройка редиректа в Wordpress: blog.cishost.ru/2021/11/10/nastroyka-redirekta-s-http-na-https-v-wordpress.html
Результат перенаправления:

В случае необходимости перенаправления всегда на главную в условиях https
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^.*= [NC]
RewriteRule (.*) $1? [R=301,L]
RewriteCond %{HTTP_HOST} откуда.cc$ [NC]
RewriteRule ^(.*)$ https://куда.pw/ [R=301,L]
Результат перенаправления:
В случае необходимости перенаправления всегда на главную в условиях http
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^1kkom.ru$ [NC]
RewriteRule ^(.*)$ http://www.agrosadovod.ru/ [R=301,L]
</IfModule>
Результат перенаправления:
С определённой страницы одного сайта на определённую страницу другого
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/old/address/$
RewriteRule ^.*$ http://сайт.com/new/address/? [R=301,L]
Результат перенаправления:
Редирект c без www на с www в условиях https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^сайт.ru
RewriteRule ^(.*)$ https://www.сайт.ru/$1 [R=301,L]
Редирект c www на без www в условиях https
# Вариант1:SetEnv HTTPS on
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ %1/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
## Вариант2:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
### Вариант3 (для Joomla):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#### Вариант4
SetEnv HTTPS on
RewriteEngine On
#RewriteCond %{HTTPS} off
#RewriteCond %{HTTP:X-Forwarded-Proto} !https
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^сайт\.ru$ [NC]
RewriteRule ^(.*)$ https://сайт.ru/$1 [R=301,L]
##### Вариант5 (с 301-ми ответами от сервера):
SetEnv HTTPS on
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://сайт.ru/$1 [R=301,L]
Удаление index.html в конце пути
#Включаем механизм преобразования
RewriteEngine On
#убрать index.html из URL для главной страницы
RewriteRule ^index\.html$ / [R=301,L]
#убрать index.html из URL для всех страниц
RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]
Удаление index.php в конце пути
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^index\.php$ https://сайт.ru/phpBB3/ [R=301,L]
Удаление расширения .php
RewriteEngine On
RewriteRule login login.php [L]
Касаемо SEO. Если сайт был добавлен в поисковики с указанием обычного http, а теперь у Вас https, чтобы поисковики переиндексировали сайт с https в robots.txt в директиве hosts нужно указать домен с https. Строка:
Host: https://www.домен.ru
Нет комментариев