.htaccess перезапись, перенаправление на https

Я хочу перенаправить url на определенный формат. Например

abcd.com -> https://www.abcd.com

www.abcd.com -> https://www.abcd.com

http://www.abcd.com -> https://www.abcd.com

loalhost / def — > > https://localhost/def

192.168.x.10 / def — > > https://192.168.x.10 / def

Как написать простой RewriteCond и правило, чтобы покрыть все вышеперечисленные правила ?

3 ответа

  1. Эти правила перенаправления можно использовать в корневом каталоге сайта .htaccess:

    RewriteEngine On
    
    # for abcd.com
    RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(abcd\.com)$ [NC]
    RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]
    
    # for rest
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
    
  2. Попробовать это,

    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www
    RewriteRule https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
    
    RewriteCond %{HTTPS} off
    RewriteRule https://%{HTTP_HOST}%{REQUEST_URI} [R=301]