Lighttpd QUERY_STRING 正确转义

Lighttpd QUERY_STRING 正确转义

问题在于 Lighttpd 中的转义查询字符串:

这是网址:

domain/publisher/adframe-34.html?tag=xzzx&gg=yy&uu=121

这是一条简单的规则:

adframe-([1-9][0-9]*)\.html\?(.*)" => "ad/frame.php?ad_unit_id=$1&addl=$2

我期望的是addl包含:tag=xzzx&gg=yy&uu=121但我得到的回应是:

[ad_unit_id] => 34
[addl] => tag=xzzx
[gg] => yy
[uu] => 121

是否有某种方法可以强制 Lighttpd 从查询字符串中传递所有参数,并且仅使用 lighttp 规则来执行此操作,而无需[REQUEST_URI]从服务器进行解析?

答案1

此重写规则:

url.rewrite-once = (
 "^.*/adframe-([1-9][0-9]*)\.html(\?(.*))?$" => "/ad/frame.php?ad_unit_id=$1&$3"
)

将重写请求/smth/here/adframe-3487.html?tag=zyx&gg=yy&uu=121/ad/frame.php?ad_unit_id=3487&tag=zyx&gg=yy&uu=121

它能解决你的问题吗?

相关内容