如何使用密码保护WordPress管理员目录(wp-admin)

首先你需要新建一个 .htpasswd 文件,你可以使用生成器很方便的生成。将这个文件上传到网站根目录的上一层目录中,例如:

home/user/.htpasswd/public_html/wp-admin/passwd/

或者

home/user/.htpasswd/www/wp-admin/passwd/

然后新建一个 .htaccess 文件并上传到 /wp-admin/ 目录,将以下代码添加到文件中:

AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user 你的用户名

将上面代码中的“你的用户名”更换成你自己的,别忘了将AuthUserFile的路径更改成自己的,如果你不知道自己的具体路径,可以新建一个PHP文件并将下面的代码复制进去然后保存为fullpath.php。将该文件上传至wp-content目录下,然后在浏览器中输入 http://yourdomain.com/wp-content/fullpath.php 即可看到站点在服务器中完整的目录路径。

<?php $dir = dirname(__FILE__); echo " Full path to this dir: " . $dir . " "; echo " Full path to a .htpasswd file in this dir: " . $dir . "/.htpasswd" . " "; ?>

我遇到了404错误或者无限重定向错误

出现这种错误跟你的服务器配置有一定的关系,我们打开WordPress的主.htaccess文件,在WordPress规则的最前面添加下面的代码即可修复。

ErrorDocument 401 default

大功告成,现在WordPress管理员后台有了双重密码的认证。这是一个非常不错的可以替代通过IP地址限制访问wp-admin的方式。

如何修复Admin Ajax问题

使用密码保护管理员目录会在前段页面让Ajax的功能失效(如果前端页面用了ajax的话)。虽然我们在前端没有任何插件在使用ajax,但是如果你有在用的,下面就是解决办法。

打开位于/wp-admin/目录下的 .htaccess 文件(注意:不是网站根目录下的那个),将下面的代码复制进去:

<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>

为您推荐

发表回复

您的电子邮箱地址不会被公开。