2012-06-18 72 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