Редиректы

12 Августа 2016
htaccess

Обязательно включите режим редактирования 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$