切换到SSL后无法登录我的wp-admin

时间:2013-03-06 03:11:02

标签: php wordpress ssl

我最近为我的wordpress网站安装了SSL证书(http到https),现在我无法访问Wordpress Admin。它刷新页面,我没有登录。

我的wordpress文件中是否有一些我忘记更改的内容?

我检查了代码,登录表单指向我的旧网站(http一个),当我查看文件中的代码时,表单操作设置为site_url(),我似乎无法找到在哪里定义。

6 个答案:

答案 0 :(得分:18)

我在NearlyFreeSpeech.net上遇到了与我的网站完全相同的问题,解决方案并不像修复网站网址那么简单。这没有任何区别。

我的案例中的根本问题和解决方案在下面复制的帖子中进行了解释。请注意,在我的系统上,SSL错误产生了两个问题,一个在Stack Overflow上描述的问题(wp-login刷新而没有登录)以及WP加载样式表失败,这是在下面引用的论坛帖子中实际解决的问题。帖子中的解决方案解决了两个问题。

  

您所描述的内容听起来像浏览器拒绝加载   样式表,通常在第一次创建时出现   支持HTTPS的WordPress站点或将SSL / TLS添加到现有WP站点。

     

WordPress对于像NFSN这样的“反向代理”并不是很聪明   用户,用户点击外部Web服务器然后与之交谈   WordPress实际存在的内部应用程序服务器。

     

如果您认为自己拥有启用SSL的网站,特别是如果它是新网站   一,这可能是你的问题。你需要编辑你的   wp-config.php文件添加以下内容:

     

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';

     

就在“那就是全部,停止编辑!快乐的博客!”线。

     

相反,如果您认为自己在网站上使用的是SSL,请执行此操作   不会做任何事情。在NFSN站点上检查站点的别名   控制面板。如果您看到挂锁,则需要在NFSN中进行设置   上面的代码。

     

WordPress的SSL实现是一种拙劣的做法。它不仅   在像我们这样的环境下无法识别SSL - 它也很容易   如果一切都没有完全改变,重定向循环   订购。如果上面的代码导致网站中断 - 你继续得到   来自浏览器的关于重定向循环的投诉 - 然后删除   代码再问一遍。我会看看能否找到关于如何做的笔记   初始SSL设置。

答案 1 :(得分:8)

您需要在wp-admin-> Settings-> General中更改网站网址。除了现在你需要通过phpMyAdmin进入并在wp_options表中手动完成,因为你被锁定了。

根据http / https获取不同的Cookie,因此您获取https cookie,然后被重定向到没有cookie的http,因为您的Wordpress设置会说明网站所在的网址。

答案 2 :(得分:5)

可以在wp-config.php文件中手动设置站点URL。

将这两行添加到wp-config.php,其中“example.com”是您网站的正确位置。

define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');

有关详情,请参阅here

或查看表格wp_optionsoption_name = siteurl,然后查看option_value

答案 3 :(得分:1)

我先用过这个:

我有

if (
    isset($_SERVER["HTTP_X_FORWARDED_PROTO"]) && 
    $_SERVER["HTTP_X_FORWARDED_PROTO"] == "https"
) {
    $_SERVER["HTTPS"] = "on";
}

仍然无法解决,也没有发生任何事情。

然后我用了

define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');

我能够通过https连接到wp。

现在我只有轻微的冲突问题(我页面上混合了https / http内容),但大多数情况都有效。

谢谢!

答案 4 :(得分:0)

我去了cpanel> filemanager并编辑文件wpconfig.php 我添加的内部PHP标签 if(strpos($ _ SERVER ['HTTP_X_FORWARDED_PROTO'],'https')!== false)$ _SERVER ['HTTPS'] ='on';

答案 5 :(得分:-1)

转到phpadmin并找到wp-options。将siteurl和home更改为http。它的工作:))