Lighttpd-向www页面添加规范标题
这不是将www重定向到非www的经典方法,而是我想向指向非www页面的所有www请求添加规范头,例如: 请求=>将规范头添加到 我已尝试使用通用重定向,但它看起来不正确,并且没有计算%1/$1Lighttpd-向www页面添加规范标题,lighttpd,canonical-link,Lighttpd,Canonical Link,这不是将www重定向到非www的经典方法,而是我想向指向非www页面的所有www请求添加规范头,例如: 请求=>将规范头添加到 我已尝试使用通用重定向,但它看起来不正确,并且没有计算%1/$1 $HTTP["host"] =~ "^www\.(.*)$" { setenv.add-response-header += ( "Link" => "<https://%1/$1>; rel='canonical'" ) } $HTTP[“主机”]=~“^www\(.*)”{ s
$HTTP["host"] =~ "^www\.(.*)$" {
setenv.add-response-header += ( "Link" => "<https://%1/$1>; rel='canonical'" )
}
$HTTP[“主机”]=~“^www\(.*)”{
setenv.add-response-header+=(“链接”=>“rel='canonical')
}
想法?lighttpd mod_setenv不是这样工作的。没有描述该语法 此外,lighttpd.conf中处于不同条件的+=块可能不会执行您认为它会执行的操作。+=用于同一条件块中的setenv。一个条件块中只有一个setenv(set)应用于一个请求 综上所述,一个正确的解决方案不使用lighttpd mod_setenv: 在lighttpd中,您可以使用mod_magnet执行几行自定义lua代码。有了它,您可以进行大量的任意更改,包括在匹配lighty.env[“request.uri”]之后设置响应头。
lighttpd mod_setenv不是这样工作的。没有描述该语法 此外,lighttpd.conf中处于不同条件的+=块可能不会执行您认为它会执行的操作。+=用于同一条件块中的setenv。一个条件块中只有一个setenv(set)应用于一个请求 综上所述,一个正确的解决方案不使用lighttpd mod_setenv: 在lighttpd中,您可以使用mod_magnet执行几行自定义lua代码。有了它,您可以进行大量的任意更改,包括在匹配lighty.env[“request.uri”]之后设置响应头。
好的,我选择了mod_magnet/Lua路线,它包括两个简单的步骤
函数string.Start(string,Start)
返回string.sub(string,1,string.len(Start))==Start
结束
如果string.start(lighty.request['Host'],“www.”),那么
lighty.header[“Link”]=“rel=\“canonical”
结束
好的,我选择了mod_magnet/Lua路线,它包括两个简单的步骤
函数string.Start(string,Start)
返回string.sub(string,1,string.len(Start))==Start
结束
如果string.start(lighty.request['Host'],“www.”),那么
lighty.header[“Link”]=“rel=\“canonical”
结束
谢谢1.问题中显示的
+=
实际上添加了响应标题(但没有计算%1/$1
)。我会看看mod_magnet,我认为这比我希望的要复杂一些。谢谢。1.问题中显示的+=
实际上添加了响应标题(但没有计算%1/$1
)。我将看一看mod_magnet,这比我希望的要复杂一些。感谢您发布您的结果,以便其他人可以参考。感谢您发布您的结果,以便其他人可以参考。
server.modules = ( mod_magnet, )
$HTTP["host"] ~= "^www\.(.*)$" {
magnet.attract-physical-path-to = ( "/path/to/canonical.lua" )
}
function string.starts(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
if string.starts(lighty.request['Host'], "www.") then
lighty.header["Link"] = "<https://"..string.sub(lighty.request['Host'],5)..lighty.env["request.uri"]..">;rel=\"canonical\""
end