我已經成功設置了我的lighttpd服務器,以使mywebsite.com/files密碼受到保護。但我不希望文件的子目錄受到密碼保護。我已經更改了lighttpd.conf文件以使/ files目錄密碼受到保護,並且可以正常工作,但是所有子目錄都受密碼保護。我似乎無法找到lighttpd停止此選項的選項。Lighttpd限制對目錄的訪問,但不能訪問子目錄
所以:
/文件/密碼保護
/files/a.txt沒有密碼保護
有一些設置或語法我失蹤允許這樣做?
我已經成功設置了我的lighttpd服務器,以使mywebsite.com/files密碼受到保護。但我不希望文件的子目錄受到密碼保護。我已經更改了lighttpd.conf文件以使/ files目錄密碼受到保護,並且可以正常工作,但是所有子目錄都受密碼保護。我似乎無法找到lighttpd停止此選項的選項。Lighttpd限制對目錄的訪問,但不能訪問子目錄
所以:
/文件/密碼保護
/files/a.txt沒有密碼保護
有一些設置或語法我失蹤允許這樣做?
你想要做的是不可能的。
我想象你正在使用這樣的東西。
$HTTP["url"] =~ "^/files" {
url.access-deny = ("")
}
當您拒絕訪問它的工作原理遞歸的目錄,即目錄中的所有文件將被拒絕過。
說實話,我真的不明白你想做什麼,或者你爲什麼想要這個功能。
當然可以做到。將認證配置嵌套在HTTP塊中是關鍵;這是解決許多其他情況的強大技巧。驗證模塊只會觸發確切的路徑,其下的任何內容都將保持不受保護。如果你想更細緻地控制需要保護的內容,你甚至可以使用正則表達式。
$HTTP["url"] == "/files/" {
auth.require = ("/files/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=alice"
)
)
}
請注意目錄路徑如何始終以斜槓結尾。這是目錄列表的標準。如果斜線丟失,重定向將自動發出,所以不要擔心/files
。