如题,使用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,一切正常。
评论区