目 录CONTENT

文章目录

WordPress使用nginx反向代理并且开启SSL,导致前台样式丢失,后台无法登录的解决办法

ashin
2022-07-28 / 2 评论 / 0 点赞 / 2099 阅读 / 0 字

如题,使用nginx对WordPress进行反向代理,最终出现了两个情况。

  1. 网站首页能正常访问,但是样式丢失,浏览器查看网络情况,发现样式请求的依然是http资源。
  2. 管理后台无法访问,提示重定向次数太多。

解决方法如下

一、强制开启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,一切正常。

0

评论区