这可能是一个简单的问题,但我不能在文档中find解决scheme。
我想使用BASIC身份validation来密码保护我的网站。 但我想要一个子目录是不受保护的:
http://mysite.com/ -> BASIC protected http://mysite.com/somedir -> BASIC protected http://mysite.com/someotherdir -> BASIC protected http://mysite.com/public -> not protected
我没有问题保护所有的网站,但我不知道我怎么能“解除”一个目录。 该网站托pipe在共享主机上,所以我只能访问.htaccess文件来进行configuration。
是否有指示否定身份validation?
谢谢您的帮助 …
不应该是.htaccess的问题,取决于主机允许的内容。
你可以尝试在下面的子文件夹中放置一个.htaccess,但是必须为它所在的目录启用覆盖。
Allow From All Satisfy Any
好的,pathserver.com/private/public:
server.com/private/.htaccess
AuthType Basic AuthName "Private, keep out." Require...
server.com/private/public/.htaccess
Allow From All Satisfy Any
这里的关键是“满足任何”,从上游到上游的要求。 “满意”是默认的。
我相信这可能会做到这一点:
# put the global auth stuff here ... # put the override here <Location /public> Allow from All Satisfy Any </Location>
我设法解决这个问题:
<Directory "/path/to/maindirectory"> [... auth stuff ... ] </Directory> <Directory "/path/to/mysubdirectory"> Allow from All Satisfy Any </Directory>
不要使用位置,因为它们被设置为区分大小写,并且不会影响实际的文件夹访问,而只是通过URL访问。
所以,例如,如果我写
http:/mywebsite/STUFF
要么
http://mywebsite/stuff
要么
http://mywebsite/StUfF
即使被调用的物理目录是相同的,位置控制也是不同的!
总之,你检查目录“东西”的访问,我可以写在不同的情况下。
另外,在单个目录中使用.htaccess文件,并在别人的位置控制不起作用。
希望它有帮助。