2012-06-18 127 views
0

我已经成功设置了我的lighttpd服务器,以使mywebsite.com/files密码受到保护。但我不希望文件的子目录受到密码保护。我已经更改了lighttpd.conf文件以使/ files目录密码受到保护,并且可以正常工作,但是所有子目录都受密码保护。我似乎无法找到lighttpd停止此选项的选项。Lighttpd限制对目录的访问,但不能访问子目录

所以:

/文件/密码保护

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

有一些设置或语法我失踪允许这样做?

回答

1

你想要做的是不可能的。

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

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

当您拒绝访问它的工作原理递归的目录,即目录中的所有文件将被拒绝过。

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

0

当然可以做到。将认证配置嵌套在HTTP块中是关键;这是解决许多其他情况的强大技巧。验证模块只会触发确切的路径,其下的任何内容都将保持不受保护。如果你想更细致地控制需要保护的内容,你甚至可以使用正则表达式。

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

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