我有两个文件夹,F1和F2,在我的公共文件夹下,每个都有一个.htaccess文件。 F1受到.htaccess中的基本身份validation的保护,如下所示:
AuthName "Restricted Area" AuthType Basic AuthUserFile /home/myaccount/.htpasswd AuthGroupFile /dev/null require valid-user
我正在从F2重写一个url到F1,如下所示:
RewriteRule ^f2file\.php$ ../F1/f1file.php [NC,L]
这个重写很有效,但是我用我在F1中设置的基本authentication来挑战我。 有没有办法发送基本身份validation与重写,或绕过基本身份validation从本地文件夹重写时?
我试过设置一个像这个问题一样的环境variables:
SetEnvIf Request_URI ^f2file\.php$ ADD_BASIC_AUTH RequestHeader set Authorization "Basic XXXXXXXX" env=ADD_BASIC_AUTH
其中XXXXXXXX是user:pass的base 64编码值,如上面问题所述。 但是,这不起作用,它仍然挑战我的凭据,也许是因为我没有做重写作为代理? 有任何想法吗? 谢谢!
由于F1文件夹受密码保护,因此需要密码才能访问直接在此文件夹上访问的内容。 您也许可以使用从F2文件夹到F1文件夹所需文件的符号链接。 然后客户端将访问F2而不是F1的文件,不需要密码。
ln -s ../F1/f1file.php f2file.php