强制跳转 https 的几种方法

html 文件,head 中加入如下meta
text
1
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
javascript 脚本,适用于IIS服务器的 403-4.htm 或者 403.htm
text
1 2 3 4 5 6 7
<script type="text/javascript">
var url = window.location.href;
if (url.indexOf("https") < 0) {
    url = url.replace("http:", "https:");
    window.location.replace(url);
}
</script>
php 脚本
text
1 2 3 4
if ($_SERVER["HTTPS"] <> "on"){
    $xredir="https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    header("Location: ".$xredir);
}
.htaccess文件,适用于Apache 配置文件的Directory标签内
text
1 2 3 4
RewriteEngine on
RewriteBase /yourfolder
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
Nginx服务器,在 server { ... } 中插入
text
1
    rewrite ^(.*)$  https://$host$1 permanent;