Lighttpd QUERY_STRING правильно сбежать
Проблема заключается в экранировании строки запроса в Lighttpd:
Это URL:
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
,
Это решит вашу проблему?