问题在于 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
。
它能解决你的问题吗?