wordpress - 如何解决 Wordpress 登录尝试导致反向代理后面的重定向?
问题描述
多亏了这个答案,我终于设法通过反向代理后面的 https / force https 访问我的 Wordpress 页面。
但是现在我不能再进入后端了。任何登录尝试只会导致重定向到登录页面而没有实际登录和错误消息:
Error: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
我尝试通过更改来解决这个问题WP_HOME
,WP_SITEURL
结果只是导致我之前的问题是一个无休止的重定向循环,我的网站根本无法访问。我对.htaccess
文件的更改似乎根本没有任何影响,这可能是因为代理已经强制执行(重定向到)https。
有谁知道为什么会发生这种情况以及如何解决它?
提前致谢!
我来自链接答案的配置:
wp配置:
define('WP_HOME','//'. $_SERVER['SERVER_NAME']);
define('WP_SITEURL','//'. $_SERVER['SERVER_NAME']);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
.ht 访问:
# http to https
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
否则它是一个干净的 wordpress 页面,没有插件,默认主题。
解决方案
因为我突然收到了 cookie 错误消息(不知道为什么我在编辑问题之前没有),这很容易自己解决,感谢这个答案
我现在的工作配置是(与链接的答案不同):
// Identify the relevant protocol for the current request
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)$_SERVER['HTTPS']='on';
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https" : "http";
// Set SITEURL and HOME using a dynamic protocol.
define('WP_SITEURL', $protocol . '://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', $protocol . '://' . $_SERVER['HTTP_HOST']);
推荐阅读
- python - 向上舍入到最接近的 0.05
- php - 在刀片 Laravel 中显示反序列化值
- javascript - 使用扩展运算符更新 redux 中的动态对象
- javascript - 在 ReactJS 中获取时自定义日期查询
- javascript - 如果输入了单词或负数,有没有办法可以循环此提示以重复自己?
- javascript - 如何在 JS 库中引用动态创建的交叉点观察器
- javascript - React 路由器 dom 推送状态导致后续弹出事件
- google-cloud-datalab - 我的数据实验室 VM 实例总是向我抛出“未找到”错误
- java - 在 Visual Code 启动文件中编辑 spring boot 应用程序配置环境变量
- php - PHP Codeigniter - 通过 HTTPS 将文件上传到 Dropbox 始终为空