1. 论坛系统升级为Xenforo,欢迎大家测试!
    Dismiss Notice

网站启用HTTPS后让所有HTTP请求跳转到HTTPS

Discussion in '主机讨论' started by laogui, May 2, 2017.

  1. laogui

    laogui Administrator
    Staff Member

    Joined:
    Aug 30, 2005
    Messages:
    15,216
    Likes Received:
    35
    Apache
    Code:
    RewriteEngine On
    # redirect all non-www to https www
    RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301]
    # redirect http www to https www
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
    
    Nginx
    Code:
    server {
      listen [::]:80;
      listen 80;
    
      server_name yourdomain.com www.yourdomain.com;
    
      # redirect http to https www
      return 301 https://www.yourdomain.com$request_uri;
    }
    
    server {
      listen [::]:443 ssl http2;
      listen 443 ssl http2;
    
      server_name yourdomain.com;
    
      # SSL code
    
      # redirect https non-www to https www
      return 301 https://www.yourdomain.com$request_uri;
    }
    
    server {
    
      listen [::]:443 ssl http2;
      listen 443 ssl http2;
    
      server_name www.yourdomain.com;
    
      # SSL code
      # other code
    }
    
     
    #1 laogui, May 2, 2017
    Last edited: May 3, 2017
  2. zmnet

    zmnet Well-Known Member

    Joined:
    May 3, 2006
    Messages:
    7,809
    Likes Received:
    62
    可以将这个和 网址始终带/去掉www的规则结合在一起。