Typecho博客全站Https后样式报错解决方法

作者:Secer 发布时间:December 11, 2016 分类:Linux笔记,原创文章

由于博客被墙了,不知道是因为什么原因,又不想换域名,干脆整站上HTTPS吧。
我用的是CDN厂商CloudFlare 提供的免费证书。无需服务器部署直接在CDN后台设置页面规则即可,服务器只需在nginx配置里添加监听443端口:

listen 443

然而……typecho部署https后,出现不能加载http资源的问题

修改源码/var/Typecho/Common.php一个地方即可,加个替换
/**
* 将路径转化为链接
*
* @access public
* @param string $path 路径
* @param string $prefix 前缀
* @return string
*/
public static function url($path, $prefix)
{
$path = (0 === strpos($path, './')) ? substr($path, 2) : $path;
//return str_replace("http:","",rtrim($prefix, '/') . '/' . str_replace('//', '/', ltrim($path, '/'))); //原
return str_replace("http:","",rtrim($prefix, '/') . '/' . str_replace('//', '/', ltrim($path, '/'))); //修改后
}

这样,不论当前环境是http还是https都能很好的继承协议了,不再出现HTTPS由于安全问题不能加载http混合内容的问题。

标签: typecho

仅有一条评论 »

  1. 哈哈哈 404了

添加新评论 »