【发布时间】:2023-05-20 06:22:01
【问题描述】:
最初我想在我的网址中添加尾随 / (lighttpd)
这是可能的
url.redirect = ( "^(.*[^/])$" => "$1/" )
现在我需要排除一些扩展名,如 .txt、png 等。我想为除这些扩展名之外的所有内容添加斜杠,我似乎无法正常工作。
在 apache 中我可以使用条件重写,你将如何在 lighttpd 中做到这一点。
任何方向都将受到高度赞赏。
谢谢
【问题讨论】:
最初我想在我的网址中添加尾随 / (lighttpd)
这是可能的
url.redirect = ( "^(.*[^/])$" => "$1/" )
现在我需要排除一些扩展名,如 .txt、png 等。我想为除这些扩展名之外的所有内容添加斜杠,我似乎无法正常工作。
在 apache 中我可以使用条件重写,你将如何在 lighttpd 中做到这一点。
任何方向都将受到高度赞赏。
谢谢
【问题讨论】:
只是为了让它一起工作(测试)
$HTTP["url"] !~ "^(.*)(\..{3}|/)$" {
url.redirect = (
"^(.*[^/])$" => "$1/"
)
}
@david 这将创建永无止境的循环.....
"^(.*)\.(png|txt)$" => "$1.$2",
"^(.*[^/])$" => "$1/"
这将创建永久循环
@Matthew 这行不通,因为您将所有内容都推送到 %1
$HTTP["url"] !~ "^(.*)(\..{3}|/)$" {
url.redirect = (
".*" => "%1/"
)
}
【讨论】:
你可以有多个重定向规则:
url.redirect = (
"^(.*)\.(png|txt)$" => "$1.$2",
"^(.*[^/])$" => "$1/"
)
在这种情况下,它将与文字 .png 或 .txt 匹配所有内容,然后尝试您的原始规则。
【讨论】:
$HTTP["url"] !~ "^(.*)(\..{3}|/)$" {
url.redirect = (
".*" => "%1/"
)
}
【讨论】: