所以我想密码保护我的目录/admin/
,所以我在.htaccess
文件夹中放了一个/admin/
,其中包含了查找htpasswd
文件的所有正确信息。
唯一的问题是,当我尝试导航到该目录中的文件时,它会加载并加载,并且从不提示我输入密码,最终只会超时。
我认为这是因为我的public_html
.htaccess
文件中有重写条件。它设置为每当有人前往mydomain.com/theirusername
时,它都会重定向到mydomain.com/profile/user.php?username=theirusername
。
有没有办法覆盖这个,所以这个特定的目录会提示我输入密码?
以下是我的.htaccess
文件中的当前代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ profile/user.php?name=$0
这是/ admin文件夹中的.htaccess:
AuthUserFile "/home/passwords/passwd"
AuthName "Please Log In"
AuthType Basic
require valid-user
答案 0 :(得分:0)
您是对的:在public_html
.htaccess
文件中重写条件。
执行以下操作:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/admin/?
RewriteRule .+ profile/user.php?name=$1 [L]