http自动跳转https

发布于 2019-11-29  1.25k 次阅读


为了网站的seo优化和安全,今天我申请了ssl证书也就是有了绿锁。这途中也遇到了很多问题。现在是凌晨4:50分,我终于把本站已知bug都修复了。

问题一:申请了ssl并且也配置好了,网站显示 您与此网站之间建立的连接并非完全安全

这是因为网站内有http的调用请求,比如说图片,css,js等一些文件使用的链接是http的并不是https的的链接各位站长可以F12自行检查一下特别是图片类

问题二:访问http://如何自动跳转到https呢? 关于这个我个人走了很多坑!我去csdn查这个问题结果发现10个文章有9个是一模一样的而且都标为原创文章...我都fo了,文章一样就算了,关键是里面的解决方法都没软用..

后来找到的解决方法(只针对Apache的配置环境,Nginx的我没试过):在.htaccess里添加以下代码

# BEGIN WordPress
# 在`BEGIN WordPress`与`END WordPress`之间的指令(行)是
# 动态生成的,只应被WordPress过滤器修改。
# 任何对标记之间的指令的修改都会被覆盖。
<IfModule mod_rewrite.c>
RewriteEngine On
#伪静态
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/index.php/1 [L,E=PATH_INFO:$1]
#强制跳转https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://www.langfengblog.cn/$1 [L,R=301]
#不带www跳转到带www
RewriteCond %{http_host} ^langfeng.top [NC]
RewriteRule ^(.*)https://www.langfeng.top/1 [L,R=301]
</IfModule>
# END WordPress

看不懂没关系下面有图文操作:

1.打开网站的根目录

2.找到.htaccess的文件,如果没有这个文件的话没关系,可以自己新建一个

3.就是添加规则了
把上面的代码Ctrl+C,Ctrl+V就好了

保存好了以后访问http://就会自动跳转到https://啦

方法二:除了改配置文件还有一种办法就是使用JavaScript代码进行判断跳转,代码如下(添加到footer.php里)

<!-- js判断http和https -->
<script type="text/javascript">
var targetProtocol = "https:";
if (window.location.protocol != targetProtocol)
window.location.href = targetProtocol +
window.location.href.substring(window.location.protocol.length);
</script>

保存即可!如果还有不懂的地方可以联系我QQ或者微信~也可以加我们的交流群:650888746 群里目前非常冷清,十分欢迎进群交流!!


态度决定高度,努力造就实力