我在我的主文件夹的根目录下安装了wordpress,并且我有一个子文件夹,我试图通过基于.htaccess的登录进行保护。在根中有一个带有这些规则的.htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
然后在我的子文件夹中,我有了这个.htaccess
<IfModule mod_rewrite.c>
RewriteEngine off
</IfModule>
AuthName "MySQLDumper"
AuthType Basic
AuthUserFile "/home/freegame/public_html/msdump/.htpasswd"
require valid-user
在Wordpress规则处于活动状态时,访问子文件夹会导致404错误。当我删除wordpress规则时,它工作正常。关于我做错了什么的想法?
答案 0 :(得分:0)
您的方法仅适用于文件。要保护目录,您必须执行其他步骤。修改站点根目录中的htaccess文件,并在#Begin WordPress comment
上方添加以下内容。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(failed_auth\.html).*$ [NC]
RewriteRule . - [L]
</IfModule>
当您尝试访问受密码保护的目录时,这将阻止WordPress提供404错误代码。相反,它将提供403(需要授权)并提示您输入有效的用户名/密码,而不是访问它。