Typecho全站启用Https

发布于 2017-06-27 作者 [重庆SEO]

一个typecho项目,首先,申请SSL证书并配置好后确认https功能正常。

然后在Typecho后台 -> 设置 -> 基本设置 -> 站点地址 修改为https地址后,发现html中的链接并没有变为https。

Google之

编辑Typecho站点根目录下的文件config.inc.php配置文件,增加相应的https配置内容,如下:

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

关于这个配置项可以在/var/Typecho/Request.php中的源码229行可以找到相应说明

/**
 * 判断是否为https
 *
 * @access public
 * @return boolean
 */
public static function isSecure()
{
    return (!empty($_SERVER['HTTPS']) && 'off' != strtolower($_SERVER['HTTPS']))
        || (!empty($_SERVER['SERVER_PORT']) && 443 == $_SERVER['SERVER_PORT'])
        || (defined('__TYPECHO_SECURE__') && __TYPECHO_SECURE__);
}

补充

1.如果模板主题中(比如默认主题)存在一些http资源地址,需要修改为https。

2.修改服务器配置文件使用HSTS或是直接301将http转换到https。