因为某些原因需要另一个服务器反向代理访问我的wordpress站点,但是设置完成后提示重定向次数过多:
too many redirects
在网上找到的解决办法进行了尝试。

尝试修复

修改wp-config.php,添加代码:

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

警告提示修复

网站可以正常运行了,但是登录后台会有警告提示:

Warning: Constant FORCE_SSL_ADMIN already defined in /www/wwwroot/domain.com/wp-config.php on line 99

这个警告看看GPT给出的回答


看起来你在WordPress 网站的 wp-config.php 文件中遇到了一个警告,指出常量 FORCE_SSL_ADMIN 在多个地方被定义了。这可能会导致你的网站出现功能上的问题。
要解决这个警告,你需要打开 wp-config.php 文件,找到定义 FORCE_SSL_ADMIN 的地方,并确保它只被定义了一次。你可以删除多余的定义,或者将它们合并成一个。
操作步骤如下:
使用文本编辑器打开 wp-config.php 文件。
搜索 FORCE_SSL_ADMIN 的所有出现。
检查每个出现,并删除多余的定义,确保文件中只有一个 FORCE_SSL_ADMIN 的定义。
保存文件后,重新加载你的 WordPress 网站,看看警告是否消失了。如果需要进一步的帮助,欢迎继续提问

解决办法:

上面添加的代码中设置了 FORCE_SSL_LOGINFORCE_SSL_ADMIN 常量来强制使用 SSL 加密登录和管理 WordPress 后台。而 $_SERVER['HTTPS'] = 'on'; 则是将当前请求标记为使用 HTTPS 连接。
然而,警告提示你 FORCE_SSL_ADMIN 常量已经被定义多次,这可能会导致问题。你需要确保这些常量只被定义一次,所以需要更换代码为:

if (!defined('FORCE_SSL_LOGIN')) {
    define('FORCE_SSL_LOGIN', true);
}

if (!defined('FORCE_SSL_ADMIN')) {
    define('FORCE_SSL_ADMIN', true);
}

if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') {
    $_SERVER['HTTPS'] = 'on';
}

大功告成!

Last modification:May 12, 2024
如果觉得我的文章对你有用,请随意赞赏