打开网站从http跳转到https的4种方法

自从网站用上了SSL证书,启用https访问后,觉得安全性和安全标识都不错。但是http开头的网址也能进去,两套规则运行十分不妥。在网上搜到强制跳转https的代码, 于是网上找了4种方法,强制http跳转到https。

第一种,修改apache的.htaccess配置文件。

代码如下:

RewriteEngine On
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

第二种,修改Nginx的conf配置文件。

代码如下:

# 301方法
server {
        listen 80;
        server_name gzza.com ;
        return 301 https://$server_name$request_uri;
    }
 
# 端口号
server {
        listen 80;
        server_name gzza.com ;
        if ($server_port !~ 443) {
            rewrite ^(.*)$ https://$host$1 permanent;
    }
 
 
# 主机名跳转
server {
        listen 80;
        server_name gzza.com ;
        if ($host ~* "^www.gzza.com$") {
                rewrite ^(.*)$ https://www.gzza.com/ permanent;
        }
 
# 协议跳转
server {
        listen 80;
        server_name gzza.com ;
        if ($http_x_forwarded_proto = 'http'){
                return 301 https://$host$request_uri;
        }
 
#
server {
        listen 80;
        server_name name.com ;
            if ($host = 'gzza.com') {
                    rewrite ^/(.*)$ http://www.gzza.com/$1 permanent;
            }      
 
        if ( $http_from_https != 'on' ) {
                rewrite ^(.*) https://www.gzza.com$1 permanent;
        }

第三种,修改IIS的Web.config文件。

嵌套rules在内,代码如下:

[pre]








[/pre]

第四种,利用meta的刷新作用将http跳转到https。

将下面的内容追加到index.html首页文件内
[pre]


[/pre]

THE END