HTTPS中的WordPress,导致重定向循环

时间:2015-02-15 作者:Rhys Wynne

我正在通过HTTPS设置WordPress,它托管在数字海洋VPS上,由Serverpilot管理(尽管HTTPS是手动设置的,而不是通过Serverpilot)。该服务器有许多WordPress安装,但我特别想安全地运行其中一个。WordPress本身在一个子文件夹中运行(因此它位于domain.com/subfolder/)。

我已经成功地获得了SSL证书并正在运行,就像访问站点域的主URL一样。com,并在其上粘贴一个普通HTML,通过SSL和挂锁的显示工作。

但是,WordPress安装进入重定向循环。

我做了以下工作:-

关闭所有插件

切换到默认主题(二十三)

将所有内容更新为最新版本

更改为默认永久链接

然后,我将siteurl和WordPress URL更改为https,然后站点陷入重定向循环。我为Chrome使用了一个重定向路径插件,它可以有效地重定向到自身(所以https://domain.com/subfolder/ 通过至https://domain.com/subfolder/). 奇怪的是,这个重定向似乎在301和302重定向之间切换,没有任何押韵或理由。

我也尝试过使用WordPress HTTPS,但也没有成功。

有什么想法吗?不完全确定该去哪里。。。

2 个回复
SO网友:robyoder

对此的答案部分来自this answer, 链接到的the Codex, 建议将以下代码段放置在wp配置文件的顶部:

if (strpos($_SERVER[\'HTTP_X_FORWARDED_PROTO\'], \'https\') !== false)
       $_SERVER[\'HTTPS\']=\'on\';
不幸的是,这并没有完全解决我的问题,但我注意到如果我删除if 一直都是这样$_SERVER[\'HTTPS\']=\'on\';. 如果您希望始终在站点上强制使用SSL,那么应该可以做到这一点。

但是,如果希望同时允许http和https,则需要调整nginx配置。添加以下行:

proxy_set_header X-Forwarded-Proto $scheme;
这是标题if 以上情况正在查找。通过将nginx设置为将请求的方案(http或https)作为X-Forwarded-Proto, 您正在让WordPress查看原始方案是什么,以便它知道如何操作。

完成后,您的WP站点应该可以通过http和https正常工作。

SO网友:TGA

我不得不$_SERVER[\'REQUEST_SCHEME\']=\'https\';沿侧面$_SERVER[\'HTTPS\']=\'on\'; 做这个把戏。谢谢

结束

相关推荐

如何将HTTPS网站移回dev并访问管理员?

我有一个使用https的活动WP站点,当我将其移回只有http的开发服务器时,我无法访问管理员,因为它被重定向到https。只有当我尝试使用管理员时才会发生这种情况。前端一切正常。那么让我们假设我去mydevsite.com/wp-admin. 我会自动重定向到https://mydevsite.com/wp-admin. 我想知道是什么导致浏览器将我的域重定向到https。这显然是现场遗留下来的东西。我只是不知道是什么。My troubleshooting:我的第一个猜测是,我需要更新我的。hAcces