首先你需要新建一个 .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>