如何将 HTTP 链接自动跳转到 HTTPS
全站开启安全的 SSL 链接,那以前的非安全链接如何处理,一个好的方案是做 301 跳转,如果一条一条链接的跳转,人都要疯的,不过我们可以在服务器配置,全站 301 跳转到安全链接。
Apache 版本
如果需要整站跳转,则在网站的配置文件的 <Directory> 标签内,键入以下内容:
RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
如果对某个目录做 https 强制跳转,则复制以下代码:
RewriteEngine on RewriteBase /yourfolder RewriteCond %{SERVER_PORT} !^443$ #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R] RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
如果只需要对某个网页进行 https 跳转,可以使用 redirect 301 来做跳转!
Nginx 版本
在配置 80 端口的文件里面,写入以下内容即可。
server { listen 80; server_name localhost; rewrite ^(.*)$ https://$host$1 permanent; location / { root html; index index.html index.htm; } }
Tomcat 和 IIS 参考单页面跳转。
JavaScript 版本
单独页面通用代码段:以下方法较适合指定某一个子页单独 https,在需要强制为 https 的页面上加入以下代码进行处理 http 跳转 https。
<script> var url = window.location.href; if (url.indexOf("https") < 0) { url = url.replace("http:", "https:"); window.location.replace(url); } </script>
在需要强制为 http 的页面上加入以下代码进行处理 https 跳转 http
<script> function redirect(){ var loc = location.href.split(':'); if(loc[0] == 'https'){ location.href = 'http:'+loc[1]; } } onload = redirect </script>
PHP 版本
PHP 页面跳转,添加在网站 php 页面内
if ($_SERVER["HTTPS"] <> "on"){ $xredir="https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; header("Location: ".$xredir); }
http 跳转 https 的方法较多,以上仅供参考。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论