lighttpd 中的 url 别名错误

lighttpd 中的 url 别名错误

我有这样的配置:

   alias.url = (
       "/acruz/" => "/var/www/localhost/htdocs/acruz/",
       "/jvangemeren/" => "/var/www/localhost/htdocs/jvangemeren",
       "/doceno/" => "/var/www/localhost/htdocs/doceno"
   )

我已经尝试使用alias.url +=每一个,但它只适用于第一个:acruz,其他的不起作用...有什么想法吗?

编辑1:lighttpd -p -f 结果

这是当前配置的结果:

alias.url            = (
    "/acruz/"       => "/var/www/localhost/htdocs/acruz/public/",
    "/jvangemeren/" => "/var/www/localhost/htdocs/jvangemeren/public",
    "/doceno/"      => "/var/www/localhost/htdocs/doceno/public",
    # 3
)

并且使用 += 执行之后,结果是一样的......

答案1

我检索了文档lighttpd 模块的mod_alias。我敢打赌,你对尾部斜杠有问题。确保所有别名条目都以斜杠结尾:

alias.url = (
       "/acruz/" => "/var/www/localhost/htdocs/acruz/",
       "/jvangemeren/" => "/var/www/localhost/htdocs/jvangemeren/",
       "/doceno/" => "/var/www/localhost/htdocs/doceno/"
)

文档中还有一个重要说明:

由于在匹配别名之前会从 URL 中删除尾随斜杠,因此别名“/content/ => “/dirtocontent/”将不会匹配 URL“/content/”;它只匹配“/content/somefile”或“/content/somesubdir/”之类的内容。

因此在大多数情况下,您不应该在左侧使用尾随斜杠(但可以在右侧使用它!):“/content”=>“/dirtocontent/”

现在“/content_x1/”被映射到“/dirtocontent/_x1”、“/content/”->“/dirtocontent/”和“/content/somefile”->“/dirtocontent//somefile”(是的,双斜杠)。

如果您在右侧也不使用它,“/content_x1/”将被映射到“/dirtocontent_x1”,这可能不是您想要的。

答案2

用于lighttpd -p -f /etc/lighttpd/lighttpd.conf查看评估后 lighty 如何看待你的配置+=

相关内容