wordpress开启https失败问题

docker搭建的wordpress,nignx反向代理访问,nginx加上ssl后,访问WordPress,结果页面里js css还是http请求。解决办法如下

  1. wp-includes\functions.php修改,找到require( ABSPATH . WPINC . ‘/option.php’ );在下方添加:
add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2);
function agnostic_script_loader_src($src, $handle) {
	return preg_replace('/^(http|https):/', '', $src);
} 
add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2);
function agnostic_style_loader_src($src, $handle) {
	return preg_replace('/^(http|https):/', '', $src);
}
  1. wp-config.php修改,找到@package WordPress在下方添加:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
  1. 设置里改为https
  2. 已发的文章中http修改https:(有些外链https不支持,所以不改)
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.xxx.com','https://www.xxx.com') WHERE post_content LIKE '%http://www.xxx.com%';

猜你喜欢

转载自my.oschina.net/u/3656540/blog/2878926