在WordPress HTTPS上启用强制SSL后被锁定在WordPress网站管理员之外(SSL)

时间:2013-11-27 作者:Lindsay

我的处境很糟糕。我被网站管理员拒之门外,插件团队在其文档中提供的解决方案不起作用。我使用Webmatrix尝试了这两种方法。我必须在周五发布我的网站,我不知道该怎么办。

这是他们的建议:

如何重置插件的设置
转到/wp-content/plugins/wordpress-https/wordpress-https.php 并取消对下面一行的注释(删除前面的两个正斜杠),或转到wp-config.php 归档并添加此行。点击您网站上的任何页面,然后将其删除或再次对其进行评论。

define(\'WPHTTPS_RESET\', true);
设置无法保存!

您是否按照上述步骤重置了插件,但忘记了将该行注释掉或从中删除wp-config.php?

3 个回复
SO网友:webaware

首先,重命名文件夹wp-content/plugins/wordpress-httpswp-content/plugins/wordpress-https-OFF 所以WordPress找不到它来运行它。

其次,在wp配置中添加以下行。php文件,将域名替换为您的域名:

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

SO网友:user3082282

我尝试了所有重置插件的解决方案,但都没有成功,最后我找到了解决方案:从数据库中删除相应的数据。

您可以选择进入数据库并运行以下查询:

DELETE
FROM wp_options
WHERE option_name LIKE \'wordpress-https%\'

SO网友:Andy Giesler

根据您的站点配置和浏览器,修复此问题可能需要多个步骤。以下内容应该可以解决许多此类问题。

Step 1: Deactivate the WordPress-HTTPS plugin

由于您无法登录Admin,因此需要在WordPress背后进行此操作。最简单的暴力方式是重命名插件的文件夹。

使用FTP、shell提示符或web主机的文件管理器(例如,通过cPanel提供的文件管理器),导航到wp-content\\plugins\\重命名插件文件夹wordpress-httpswordpress-https1重命名为什么并不重要。WordPress只知道一个名为“WordPress HTTPS”的插件处于活动状态,它存储在一个名为“WordPress HTTPS”的文件夹中。通过重命名文件夹,我们可以从WordPress中隐藏它,这样插件的代码就不会运行。

一种更优雅、可能更安全的方法是使用WP-CLI. 这是一个命令行界面,允许您从Linux/Unix shell执行大多数WordPress管理功能。但并不是每个人都有shell访问权限(例如通过SHH),也不是每个安装了WP-CLI的主机。如果已安装:

输入命令wp plugin list 要确认插件是否存在并处于活动状态,请输入命令wp plugin deactivate wordpress-https

Step 2: Clear all caching

理论上,WordPress HTTPS现在处于非活动状态,不会导致登录问题。但一些浏览器和web主机启用了缓存,可以记住之前发生的重定向。

要确保您真正获得对该网站的100%当前访问权限,请执行以下操作:

如果已启用缓存插件(例如W3 Total Cache),请禁用它们。有些可以通过web主机的控制面板(例如SiteGround的超级缓存)禁用,有些则需要如上所述停用

Step 3: Log in

如果运气好的话,你现在可以了。

Step 4: If it still won\'t work, temporarily switch your site to http

您的站点设置可能会说对站点和主页URL使用https。如果您的问题真的只是因为“强制管理”设置,那么这可能不是问题。但作为最后一步,您可以尝试在整个网站上关闭此功能。

这些URL设置是在“设置”>“常规”页面上定义的,您现在无法访问该页面。但它们存储在WordPress表中wp_options. 可以通过以下两种方式之一覆盖它们:

如webaware的回答所述,在wp配置中定义几个常量。php,完成后记得删除这些常量

  • 直接使用phpMyAdmin或您自己的PHP代码编辑数据库。这两个设置是“siteurl”和“home”,是wp\\U选项表中的前两个设置。切换到使用状态http 而不是https.
  • Step 4: Remove the settings that caused your lockouts

    如果您计划完全停止使用WordPress HTTPS,请跳过此步骤。在这种情况下,您只需删除wordpress-https1 福勒。

    但当启用SSL时,它是一个非常有用的工具,因此您可能希望在登录后重新激活它。但是,如果您现在这样做,您可能会再次出现登录问题。

    我们需要从WordPress选项表中删除WordPress HTTPS的设置。这本质上就像从头开始安装。有两种方法可以做到这一点。

    选项1:直接从数据库中删除它们

    所有设置都位于WordPress数据库的wp\\U选项表中,并且所有设置都以“WordPress https”开头。从表中删除这些行将重置WordPress HTTPS。现在应该可以安全地重新激活。

    选项2:使用插件的“重置”标志

    正如您在问题中所述,您可以定义WPHTTPS_RESET 常数下次WordPress HTTPS运行时,它将看到此标志并清除其设置。可能是因为上面提到的缓存问题,这对您不起作用。

    结束