我最近为我的 wordpress 站点(http 到 https)安装了 SSL 证书,现在我无法访问 Wordpress Admin。它刷新页面,我没有登录。
我忘记在我的 wordpress 文件中更改某些内容了吗?
我检查了代码,登录表单指向我的旧站点(http 站点),当我查看文件中的代码时,表单操作设置为 site_url(),我似乎找不到它的定义位置.
我在 NearlyFreeSpeech.net 上的网站也遇到了完全相同的问题,而且解决方案并不像修复网站 URL 那样简单。那没什么区别。
我的案例中的根本问题和解决方案在下面复制的帖子中进行了解释。请注意,在我的系统上,SSL 错误产生了两个问题,一个在 Stack Overflow 上描述(wp-login 刷新而不登录)和 WP 加载样式表失败,这是下面引用的论坛帖子中实际解决的问题. 帖子中的解决方案解决了这两个问题。
您所描述的听起来像是浏览器拒绝加载样式表,这通常发生在首次创建启用 HTTPS 的 WordPress 站点或将 SSL/TLS 添加到现有 WP 站点时。
对于 NFSN 使用的“反向代理”,WordPress 并不是很聪明,用户点击外部 Web 服务器,然后与 WordPress 实际所在的内部应用程序服务器通信。
如果您认为您有一个启用 SSL 的站点,尤其是如果它是一个新站点,那么这可能是您的问题。您需要编辑 wp-config.php 文件以添加以下内容:
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';
就在“就是这样,停止编辑!快乐的博客!”的上方。线。
相反,如果您认为您的站点上没有使用 SSL,那么这将无济于事。在 NFSN 站点控制面板上检查您的站点的别名。如果您看到挂锁,则说明您已在 NFSN 中设置并需要上面的代码。
WordPress 的 SSL 实现有点糟糕。它不仅不能在像我们这样的环境下识别 SSL - 如果所有内容都没有按照正确的顺序更改,它还容易重定向循环。如果上面的代码导致站点中断——你不断收到来自浏览器的关于重定向循环的抱怨——然后删除代码并再次询问。我会看看我是否能找到关于如何进行初始 SSL 设置的笔记。
您需要在 wp-admin->Settings->General 中更改站点 url。除了现在你需要通过 phpMyAdmin 进入并在wp_options
表中手动执行,因为你被锁定了。
您会根据 http/https 获得不同的 cookie,因此您将获得 https cookie,然后由于您的 Wordpress 设置说明站点所在的 url 而被重定向到没有 cookie 的 http。
可以在 wp-config.php 文件中手动设置站点 URL。
将这两行添加到您的 wp-config.php,其中“example.com”是您网站的正确位置。
define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');
更多请参考这里
或检查表wp_options
列option_name = siteurl
检查option_value
我首先使用了这个:
我有
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 内容),但大多数事情都有效。
谢谢!
我去了 cpanel>filemanager 并在我添加的 php 标签中编辑文件 wpconfig.php if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on ';
我的 wordpress 实例也有类似的问题。使用 ssh 我进入目录结构并将 te wordpress 根文件夹权限更改为 755,将 .htaccess 文件更改为 644。
chmod 755 wordpress/
之后,我再次云访问我的管理面板。
转到 phpadmin 并找到 wp-options。将 siteurl 和 home 更改为 http。这是工作 :)