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,

Это решит вашу проблему?

Другие вопросы по тегам