Редиректы

htaccess
12 Августа 2016

Обязательно включите режим редактирования url, вставив в .htaccess RewriteEngine on

  1. Редирект (301) с без www на www

    RewriteCond %{HTTP_HOST} ^([^www].*)$
    RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
    
  2. Редирект (301) с www на без www

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

    или

    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    
  3. Редирект с протокола http на https

    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    

    или

    RewriteCond %{SERVER_PORT} !^443
    RewriteRule (.*) https://kakorin.com/$1 [R=301,L]
    

    или

    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]
    
  4. Редирект с протокола https на http

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

    или

    RewriteCond %{SERVER_PORT} !^443
    RewriteRule (.*) https://kakorin.com/$1 [R=301,L]
    
  5. Редирект каждой страницы одного домена на такой же адрес другого домена

    RewriteCond %{REQUEST_URI} (.*)
    RewriteRule ^(.*)$ http://kakorin.com/$1 [L,R=301]
    

P.S. если какой то редирект не работаем поместите его в <IfModule mod_rewrite.c></IfModule> и замените RewriteCond %{HTTPS} !=on на RewriteCond %{SERVER_PORT} ^443$