0

最初我想在我的 url (lighttpd) 中添加尾随 /

这可能与

    url.redirect = ( "^(.*[^/])$" => "$1/" ) 

现在我需要排除一些扩展名,如 .txt、png 等。我想为除这些扩展名之外的所有内容添加斜杠,我似乎无法正常工作。

在 apache 中我可以使用条件重写,你将如何在 lighttpd 中做到这一点。

任何方向将不胜感激。

谢谢

4

3 回答 3

1

只是为了使它在一起,这将起作用(经过测试)

       $HTTP["url"] !~ "^(.*)(\..{3}|/)$" {
          url.redirect = (

           "^(.*[^/])$" => "$1/"
          )
        }

@david这将创建永无止境的循环.....

 "^(.*)\.(png|txt)$" => "$1.$2",
    "^(.*[^/])$" => "$1/"

这将创造永恒的循环

@Matthew 这不会很有效,因为您将所有内容都推送到 %1

$HTTP["url"] !~ "^(.*)(\..{3}|/)$" {
  url.redirect = (
    ".*" => "%1/" 
  )
}
于 2012-06-14T17:15:06.057 回答
0

您可以有多个重定向规则:

url.redirect = (
    "^(.*)\.(png|txt)$" => "$1.$2",
    "^(.*[^/])$" => "$1/"
)

在这种情况下,它将与文字匹配所有内容.pngor .txt,然后尝试您的原始规则。

于 2012-06-12T19:36:13.260 回答
0
$HTTP["url"] !~ "^(.*)(\..{3}|/)$" {
  url.redirect = (
    ".*" => "%1/" 
  )
}
于 2012-06-14T06:11:48.870 回答