多亏了this answer,我终于可以通过反向代理后的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。
有谁知道为什么会发生这种情况,以及如何解决它?
提前感谢!
我在linked answer中的配置
wp-config:
define('WP_HOME','//'. $_SERVER['SERVER_NAME']);
define('WP_SITEURL','//'. $_SERVER['SERVER_NAME']);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
.htaccess:
# http to https
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
否则它是一个干净的wordpress页面,没有插件,默认主题。
发布于 2021-11-03 09:33:14
因为我突然收到了cookie错误消息(不知道为什么在编辑问题之前没有),这很容易自己解决,这要归功于this answer
我现在的工作配置是(与链接答案不同):
// 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']);
https://stackoverflow.com/questions/69822054
复制相似问题