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