我已设法设置lighttpd服务器,以便mywebsite.com/files密码受到保护。但我不希望文件的子目录完全受密码保护。我已经更改了lighttpd.conf文件以使/ files目录密码受到保护并且它可以正常工作,但所有子目录都受密码保护。我似乎找不到lighttpd的选项来阻止它。
所以:
/ files / password protected
/files/a.txt没有密码保护
我是否缺少某些设置或语法来允许此操作?
答案 0 :(得分:1)
你想要做的事情是不可能的。
我想你正在使用这样的东西。
$HTTP["url"] =~ "^/files" {
url.access-deny = ("")
}
当您拒绝访问目录时,它会递归工作,即目录中的所有文件也将被拒绝。
说实话,我真的不明白你想做什么,或者为什么你会想要这个功能。
答案 1 :(得分:0)
当然可以做到。将auth配置嵌套在HTTP块中是关键;这是解决许多其他情况的有力技巧。 auth模块仅触发确切的路径,其下的任何内容都将保持不受保护。如果您想要对需要保护的内容进行更精细的控制,您甚至可以使用正则表达式。
$HTTP["url"] == "/files/" {
auth.require = ( "/files/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=alice"
)
)
}
请注意目录路径始终以斜杠结尾。这是目录列表的标准。如果缺少斜杠,将自动发出重定向,因此不必担心/files
。