正确删除lighttpd中URL的文件扩展名

问题描述:

您能否告诉我如何在lighttpd中正确删除文件扩展名?正确删除lighttpd中URL的文件扩展名

这样:(“/”)是不会

  • 开放目录,如果斜线丢失
  • 所有文件都可以被访问到被改写为“/.php”

    1. 根目录没有扩展

    另一个StackOverflow的线程在这里有答案不固定(1): Rewriting with lighttpd - how to remove file extensions

  • 2)和3)是相互排斥的 - 您如何期望系统知道blahBlah是否意图成为一个目录blahBlah或文件blahBlah.php?
    1)可能是由DirectoryIndex的处理,而不是由你重写规则

    +0

    一次url.rewrite-=( “^(。*)/ $”=> “$ 1 /”) url.rewrite-IF-不可─ file =(“^([^?] *)(\?。*)?$”=>“$ 1.php $ 2”)。这修正了2)和3)但不是1) – Atm 2012-08-07 09:16:23

    +0

    url.rewrite-if-not-file优先考虑现有文件。所以,如果你有目录blahBlah,然后创建文件blahBlah.php它会影响目录,并使其无法访问。 再次1)最有可能由你的重写规则检查前的DirectoryIndex处理。 – 2012-08-07 09:27:38

    +0

    Germann,那很好。但重新1)lighttpd中没有DirectoryIndex。 – Atm 2012-08-07 09:29:54