假设我有一个由 lighttpd 提供的 htdocs 目录树
htdocs
htdocs/foo
htdocs/foo/spam
htdocs/foo/eggs
htdocs/foo/eggs/stirred
htdocs/foo/eggs/fried
htdocs/bar
htdocs/bar/bacon
现在我想根据htpassw
层次结构中某个文件来保护各个子树,当然,使用该文件htpasswd
来包含允许用户的凭据。例如,htpasswd
位于
htdocs/foo/eggs/.htpasswd
这将强制对整个eggs
子目录树进行身份验证。
htdocs/foo/eggs
htdocs/foo/eggs/stirred
htdocs/foo/eggs/fried
我知道如何配置 lighttpd 以使用htpasswd
特定位置的某个文件来对给定的 URL 模式进行操作。但配置这样的事情似乎有点奇怪。
到目前为止,我最好的想法是提取 URL 的相关部分,为 htpasswd 文件构建文件系统路径。但如果之前或之后应用了某些 URL 重写规则,这会导致问题。
本质上,我所寻找的是,在实际文件访问时,遍历目录树以找到可能存在的hwpasswd
文件。我该怎么做?