根据您的站点配置和浏览器,修复此问题可能需要多个步骤。以下内容应该可以解决许多此类问题。
Step 1: Deactivate the WordPress-HTTPS plugin
由于您无法登录Admin,因此需要在WordPress背后进行此操作。最简单的暴力方式是重命名插件的文件夹。
使用FTP、shell提示符或web主机的文件管理器(例如,通过cPanel提供的文件管理器),导航到wp-content\\plugins\\
重命名插件文件夹wordpress-https
到wordpress-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的超级缓存)禁用,有些则需要如上所述停用如果您的web主机在WordPress之外进行缓存,请禁用它。这通常可以通过web主机的控制面板完成如果您启用了内容交付网络(例如CloudFlare),请将其禁用清除浏览器的缓存和cookie关闭并重新启动浏览器
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运行时,它将看到此标志并清除其设置。可能是因为上面提到的缓存问题,这对您不起作用。