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

问题描述 投票:0回答:2

你能告诉我如何在lighttpd中正确删除文件扩展名吗?

所以:

  1. 根目录(“/”)不会被重写为“/.php”
  2. 如果尾部斜杠丢失则打开目录
  3. 所有文件无需扩展名即可访问

这里的另一个 StackOverflow 线程有无法修复的答案 (1): 用lighttpd重写-如何删除文件扩展名

regex mod-rewrite lighttpd clean-urls
2个回答
0
投票

2) 和 3) 是互斥的 - 你如何期望系统知道 blahBlah 是目录 blahBlah 还是文件 blahBlah.php?
1) 可能由 DirectoryIndex 处理,而不是由您的重写规则处理


0
投票

我不知道在这样的旧帖子下写一条消息是否可以,但我发现

   url.rewrite-once = ( "^(.*)/(\?.*)?$" => "$1/$2" )
   url.rewrite-if-not-file = ( "^([^?]*)(\?.*)?$" => "$1.php$2" )

对我来说效果很好! 但是,有可能知道两者之间的区别吗

   url.rewrite-once = ( "^(.*)/$" => "$1/" )
   and
   url.rewrite-once = ( "^(.*)/(\?.*)?$" => "$1/$2" )

它们都有效,但我真的没有看到任何区别。

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.