wordpress的网站使用cdn并配置Https

之前双十一的时候,看cdn挺便宜就买了个cdn加速,这几天ssl证书快到期了就重新续了一下ssl证书,结果网站就出现问题了。主要是因为我给cdn启用了专门的https加速,而之前是没有打开https加速功能的,只有http(阿里云cdn中https和http是分开计费的)。在捣鼓了一些时间以后,找到两篇比较有用的文章,记录在博客里方便自己和大家参考。

在wordpress中设置https,需要在当前使用主题的functions.php文件中添加以下代码:

add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
	if( is_ssl() ){
		function fanly_ssl_main ($content){
			$siteurl = get_option('siteurl');
			$upload_dir = wp_upload_dir();
			$content = str_replace( 'http:'.strstr($siteurl, '//'), 'https:'.strstr($siteurl, '//'), $content);
			$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), 'https:'.strstr($upload_dir['baseurl'], '//'), $content);
			return $content;
		}
		ob_start("fanly_ssl_main");
	}
}

wp-config.php也需要修改:

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

关键说明:以上代码添加时,必须添加在if ( !defined('ABSPATH') ) 代码之前才能生效!如下图所示位置:

否则,在登录WordPress网站后台时,可能会出现“抱歉,您不能访问此页面”的错误提示,导致还是无法登录网站后台。

WordPress启用Https访问代码
添加代码的正确位置

参考文献:

WordPress网站开启https 登录后台显示“抱歉,您不能访问此页面”怎么办?【已解决】 – WordPress外贸建站专家 (wppop.com)

wordpress全站开启HTTPS协议的方法教程_博客吧 (boke8.net)

阅读更多

留下评论