Зеркала сайта, редиректы, 301 302

Так как у меня необычная CMS, то там все не как у людей и следовательно обычные способы либо малоэффективны, либо я еще не всё освоил. И можно работать ТОЛЬКО с .htaccess. Так вот вопрос заключается в следующем - у меня есть несколько видов урлов:

http://domen.ru/
http://www.domen.ru/
https://domen.ru
https://domen.ru/
https://www.domen.ru
https://www.domen.ru/

И я бы хотел привести это всё к одному виду - https://domen.ru/. Что нужно прописать в .htaccess, чтобы за один раз все зеркала исправились на нужный вид?


Ответы (1 шт):

Автор решения: Walker
  • Простой способ - Проверьте вашего хостера, возможно у него есть такая функция( переадресация с www.domen.ru/ на domen.ru и соотвецтвенно использование https как основного)

Переадресация http > https

RewriteEngine On
RewriteBase /
# http > https
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Переадресация www > без

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

В итоге у вас в корневом .htaccess такой код

RewriteEngine On
RewriteBase /
# http > https
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
→ Ссылка