我已经成功设置了我的lighttpd服务器,以使mywebsite.com/files密码受到保护。但我不希望文件的子目录受到密码保护。我已经更改了lighttpd.conf文件以使/ files目录密码受到保护,并且可以正常工作,但是所有子目录都受密码保护。我似乎无法找到lighttpd停止此选项的选项。Lighttpd限制对目录的访问,但不能访问子目录
所以:
/文件/密码保护
/files/a.txt没有密码保护
有一些设置或语法我失踪允许这样做?
我已经成功设置了我的lighttpd服务器,以使mywebsite.com/files密码受到保护。但我不希望文件的子目录受到密码保护。我已经更改了lighttpd.conf文件以使/ files目录密码受到保护,并且可以正常工作,但是所有子目录都受密码保护。我似乎无法找到lighttpd停止此选项的选项。Lighttpd限制对目录的访问,但不能访问子目录
所以:
/文件/密码保护
/files/a.txt没有密码保护
有一些设置或语法我失踪允许这样做?
你想要做的是不可能的。
我想象你正在使用这样的东西。
$HTTP["url"] =~ "^/files" {
url.access-deny = ("")
}
当您拒绝访问它的工作原理递归的目录,即目录中的所有文件将被拒绝过。
说实话,我真的不明白你想做什么,或者你为什么想要这个功能。
当然可以做到。将认证配置嵌套在HTTP块中是关键;这是解决许多其他情况的强大技巧。验证模块只会触发确切的路径,其下的任何内容都将保持不受保护。如果你想更细致地控制需要保护的内容,你甚至可以使用正则表达式。
$HTTP["url"] == "/files/" {
auth.require = ("/files/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=alice"
)
)
}
请注意目录路径如何始终以斜杠结尾。这是目录列表的标准。如果斜线丢失,重定向将自动发出,所以不要担心/files
。