我使用iThemes-securitiy插件来更改wp-admin url和登录页面。
所以我以前的管理页面(https://www.example.com/wp-admin
(现在给出HTTP 404错误(找不到文件(。不幸的是,我不记得我已将管理控制台 URL 设置为什么。我怎么能弄清楚呢?我可以通过SSH访问数据库和文件系统。
第 1 步:停用 iThemes 安全插件
由于您无法登录到 wp-admin 控制台,因此您需要 ssh 或 ftp 访问权限才能实现此目的。重命名插件文件夹(在早期安装中,此文件夹称为"更好的 wp-security"(
$ cd /www/wp-content/plugins
$ mv better-wp-security better-wp-security-disabled
(或者:使用 FTP 客户端进行重命名(
第 2 步:访问 WP 管理员
您现在可以再次访问 wp-admin。登录,并保持登录状态。(在WP管理控制台上保持浏览器打开状态(
步骤3:重新激活iThemes安全插件
- 将插件文件夹重命名回其原始名称
- 使用 wp-admin,再次激活插件(因为它被重命名,在步骤 2 中自动停用(
- 请注意,系统会保留您之前的设置,因此从现在开始,将再次禁用直接访问 https://www.example.com/wp-admin。但是,当您打开会话(从步骤 2 开始(时,您可以修改设置
步骤 4:设置已知登录 slug
在 wp admin中,转到:
高级安全>(顶部选择器(> 隐藏后端>配置设置(按钮(
您可以查看和更改登录 slug。
在插件的实际版本中,您需要检查wp_options
表并查看行option_name
=itsec-storage
,option_value
里面将是 JSON 数据,在这个 json 数据中你可以找到hide-backend
数组slug
变量这就是你要找的。
要恢复您的自定义 wp-admin,请在 WordPress 根安装的.htaccess
文件中搜索类似于以下内容的代码:
# Enable the hide backend feature - Security > Settings > Hide Login Area > Hide Backend
RewriteRule ^(/)?your-new-login/?$ /wp-login.php [QSA,L]
RewriteRule ^(/)?wp-register-php/?$ /wplogin?action=register [QSA,L]
# END iThemes Security - Do not modify or remove this line
如果可以访问数据库,则wp_options表具有"itsec_hide_backend"选项。 一个值(slug(是重命名的wp-admin。
作为一种解决方法,我已通过从备份还原站点来解决此问题。
iThemes 安全性似乎没有将其存储在文件系统上(即.htaccess
(。从备份中恢复文件系统是不够的。 该设置也保存在数据库中的某个位置(数据库恢复后我又回来了(。
是的,现有的答案也对我有用。我去了目录/public_html/wp-content/plugins/better-wp-security,在"better-wp-security"文件夹中有一个名为"better-wp-security.php"的文件。我只是将其重命名为"disabled-better-wp-security",我能够通过默认的WordPress登录URL登录。
附言这是在iThemes插件的7.1.0版本上。
我使用从一位了不起的同事那里学到的不同技巧解决了这个问题。您可以通过在wp-login.php中添加两行来强制wordpress使用特定的URL。打开此文件并查找 wp-login 文件中应该已经存在的此行:
要求( 目录(文件( .'/wp-load.php' (;
紧接着输入接下来的两行:
update_option('siteurl', 'https://exampledomain.com/wp-admin' );
update_option('home', 'https://exampledomain.com/wp-admin' );
(其中"exampledomain.com"显然应该替换为您自己的域名( 现在WordPress仪表板应该再次处于 exampledomain.com/wp-admin 状态。
有时这还不够,您仍然必须通过以前面答案中提到的任何方式重命名它们来禁用 .htaccess 文件(有时也禁用负责的安全插件(。
编辑:这是一个临时黑客。在进行必要的更改后,不要忘记删除这些行。
如其他答案所述,隐藏的 URL 存储在数据库wp_options表中itsec-storage
行的slug
条目中。
如果您安装了WP CLI,则可以在一行命令中检索该子域:
wp option get itsec-storage | grep "'slug'"
如果不是WP CLI,如果您有权访问托管后端/SQL
SELECT * FROM `wp_options` where option_name = "itsec-storage";
在值数组中查找"slug">