如题,使用nginx对WordPress进行反向代理,最终出现了两个情况。 网站首页能正常访问,但是样式丢失,浏览器查看网络情况,发现样式请求的依然是http资源。 管理后台无法访问,提示重定向次数太多。 解决方法如下

一、强制开启SSL

找到WordPress所在目录,如【/www/wwwroot/192.168.1.135】,修改wp-config.php,加入如下代码,注意填写自己的域名。
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define('WP_HOME', 'https://xxxxx.com');
define('WP_SITEURL', 'https://xxxxx.com');
  接着进行第二部操作。

二、强制跳转https

找到WordPress所在目录,修改wp-includes目录下的functions.php文件。 找到以下代码(大概在第8行) 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); }
修改后重启WordPress,一切正常。