我有一个新的Wordpress安装,运行良好。我决定让它在HTTPS下工作,所以我在常规配置中更改“Wordpress地址”和“站点地址”http://my.website.com/blog/ 到https://my.website.com/blog/.
首先,这会创建一个重定向循环,因此我必须将以下行添加到我的wp\\u配置中。php:
/** SSL */
define(\'FORCE_SSL_ADMIN\', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER[\'HTTP_X_FORWARDED_PROTO\'], \'https\') !== false)
$_SERVER[\'HTTPS\']=\'on\';
在那里,我可以看到HTTPS中的博客以及登录页面。但一旦我尝试登录,就会出现以下错误:
Sorry, you are not allowed to access this page.
无法访问HTTPS中的管理界面。
如果我反转URL(通过phpMyAdmin)并从wp\\u配置中删除这些行。php文件,我可以正确登录。知道我的安装有什么问题吗?是不是博客在/blog/下?
谢谢你的帮助!
SO网友:David Sword
将“Wordpress地址”和“网站地址”更改为https
, 并保持FORCE_SSL_ADMIN
设置为true
, 我会让http
到https
重定向发生在代码上方,因此您不需要依赖PHP/Wordpress来完成。如果运行Apache,请使用.htaccess
:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
如果Nginx有很多在线操作。如果您想将其限制为您的/博客/或子域,可以优化
RewriteCond
\'s
之后,请尝试再次登录。如果仍然出现管理权限错误,请尝试在私人浏览模式下排除混乱的登录cookie。
(也在“相关”侧栏中,找到了使用$_SERVER[\'HTTPS\']
具有FORCE_SSL_ADMIN
导致完全相同的问题:Setting $_SERVER['HTTPS']='on' prevents access to wp-admin )