Lighttpd限制对目录的访问,但不限制子目录

时间:2012-06-18 20:16:09

标签: lighttpd restrict subdirectory

我已设法设置lighttpd服务器,以便mywebsite.com/files密码受到保护。但我不希望文件的子目录完全受密码保护。我已经更改了lighttpd.conf文件以使/ files目录密码受到保护并且它可以正常工作,但所有子目录都受密码保护。我似乎找不到lighttpd的选项来阻止它。

所以:

  

/ files / password protected

     

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

我是否缺少某些设置或语法来允许此操作?

2 个答案:

答案 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