WordPress用.htpasswd保护wp-admin文件夹后访问提示404解决办法

前情提要:
当然,推荐的选项是设置密码保护,这意味着你仍然可以在任何地方连接到 wp-admin 目录,
但我们增加了一道防线,以防越权操作。

.htaccess 文件
WP � ADMIN 中的 .HTACCESS 文件如下:
#this file should be outside your webroot.
AuthUserFile /srv/www/user1/.htpasswd
AuthType Basic
AuthName “Blog”
require user youruser #making this username difficult to guess can help mitigate password
brute force attacks.

.htpasswd 文件
正如已经说明的,该文件 可以放到网站目录之外的地方,上层目录是个很好的选择。
$ htpasswd �cm .htpasswd blog
New password:
Re�type new password:
Adding password for user blog
.htpasswd 文件已经在当前目录中创建了,请确保本文件的地址符合 wp�admin/.htaccess 中
AuthUserFile 所设置的地址。

当你试图登录博客时会要求你输入用户名和密码以获得连
接权限。如果没有出现的话,查看一下加密密码文件,然后查看所提供的地址是否正确。

出现问题:
用.htpasswd保护wp-admin文件夹后访问提示404
我在wp-admin文件夹下写了.htpasswd和.htaccess,.htaccess文件内容如下:

AuthUserFile /home/public_html/wp-admin/.htpasswd
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

然后我再次访问wp-admin时,发现需要验证用户名和密码。
但当我打开rewrite后,发现访问wp-admin时,跳转到的是wp的404提示页面。

 
问题分析:
主机商把错误文档重新定义了,然后访问这个时,发了个401要授权的http头,但由于错误文档重定义,而这时Apache又找不到重新定义的文档,所以就抛出了个404的http头,所以被识别成了404错误。
 
解决办法:
在wp-admin文件夹的.htaccess顶部加上
(使用默认的错误页面)
ErrorDocument 401 default
(错误档案使用自己指定字符串)
ErrorDocument 401 "Unauthorized access"
(使用自己指定的错误页面)
ErrorDocument 401 /401.html
以上方法三选一,其实就是一种方法——重新定义一个存在的401提示页面。
 

1 comment

  1. EarthWalker says:

    出现了这个错误,按照你说的方法解决了,谢谢呵!

Leave a Reply to EarthWalker Cancel reply