0

我已经设法设置了我的 lighttpd 服务器,这样它就可以保护 mywebsite.com/files 的密码。但我根本不希望文件的子目录受到密码保护。我更改了 lighttpd.conf 文件以使 /files 目录受密码保护并且它可以工作,但所有子目录都受密码保护。我似乎找不到让 lighttpd 停止这种情况的选项。

所以:

/文件/密码保护

/files/a.txt 没有密码保护

我是否缺少一些设置或语法来允许这样做?

4

2 回答 2

1

你试图做的事情是不可能的。

我想你正在使用这样的东西。

$HTTP["url"] =~ "^/files" {
    url.access-deny = ("")
}

当您拒绝访问某个目录时,它会递归地工作,即该目录中的所有文件也将被拒绝。

老实说,我真的不明白你想做什么,或者你为什么想要这个功能。

于 2012-06-21T16:03:40.497 回答
0

当然可以。将身份验证配置嵌套在 HTTP 块中是关键;这是解决许多其他情况的强大技巧。auth 模块只会触发确切的路径,并且它下面的任何内容都将不受保护。如果您想更精细地控制必须保护的内容,您甚至可以使用正则表达式。

$HTTP["url"] == "/files/" {
auth.require = ( "/files/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=alice"
)
)
}

请注意目录路径如何始终以斜杠结尾。这是目录列表的标准。如果斜线丢失,将自动发出重定向,所以不用担心/files.

于 2016-07-21T17:43:37.537 回答