typecho 伪静态强制启用HTTPS连接

未分类3年前 (2022)更新 ypng
32 0 0
登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名

1.编辑Typecho站点根目录下的文件。

config.inc.php

加入下面一行配置,否则网站后台还是会调用HTTP资源。
登录后台的时候会出现奇怪的错误

/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);

2.由于Chrome浏览器对HTTPS要求较高,Firefox已经显示小绿锁,可是Chrome还是有警告提示,F12查看,评论表单的action地址还是HTTP,找到站点主题目录下的 comments.php 文件,并搜索 $this->commentUrl()

$this->commentUrl()
/* 并将其替换为:*/
/* 注意:域名最后不要添加“/”这个字符 */
echo str_replace("http","https",$this->commentUrl());

3.更新文章中引用的附件地址为 HTTPS 地址,执行SQL数据库操作:

UPDATE `typecho_contents` SET `text` = replace (`text`, 'http://qiudy.cc', 'https://qiudy.cc')
/* 链接替换为自己的网站 */
/* 这是我的 */
UPDATE `typecho_contents` SET `text` = replace (`text`, 'http://www.qmang.online/blog', 'https://www.qmang.online/blog')

4.但是这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTPS)重定向到443端口(HTTPS),强制全站HTTPS。如果你使用的了 CDN 的话 在 CDN 加速模式跳转,设置 http 跳转 https

5.后来发现 typecho 头像是从 gravatar 获取的,但是 typecho 获取头像的地址为 http。所以修改 var/Typecho/Common.php 中的第 937 行。

http://www.gravatar.com
/* 修改为 */
https://www.gravatar.com
  1. 打开一下,可以了。
    typecho 伪静态强制启用HTTPS连接

原文地址:https://www.jianshu.com/p/f2302b938ef4

© 版权声明

相关文章

暂无评论

暂无评论...