ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Странное поведение http_rew rite_module


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Странное поведение http_rew rite_module
  • From: Kruglov Eugenie <ekruglov@xxxxxxxxx>
  • Date: Wed, 20 Jan 2010 14:00:51 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:content-type; bh=V0TpjHtM4gtjIBGgkQkzY/aNrcobbbygZAXCs6gbtPo=; b=GyiKvXIsX92XfzyMlw/BE7p1QG2Iab0zzsofdZhQXX00MrUv8SyhThrZ29uIbXWryC M83Kx+aZWllfzyXNsyOYSAILMHom2umAo6iztGhvOL2i7eyHINpU1JsxUKtcsUkhC9Gs 5IIApn+l74V6Gam0hh6eKJVr29GZPIZjHP3n4=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=kg7cdW/bd2n4s7KCGTLS4XnxpAhUBfrEVqIev9VRADxH2zvONyZy6U13UKmu+Snz7s 1OGNwx9Fg8wINqVQE+FaxgaNNc1929/IP9VPTYmAbhZBY3awg/lBL8DzLNfVdvfmZFA9 kAa8XY4PHO8c0iBMpTLisfjwF95n4G1pB0Pm0=
  • In-reply-to: <efd319011001181736t2a1e3811r265479955ceaf777@xxxxxxxxxxxxxx>
  • References: <efd319011001181736t2a1e3811r265479955ceaf777@xxxxxxxxxxxxxx>

UP, благо мне этот вопрос так-же крайне интересен.

2010/1/19 Alexander Radostin <alex.radostin@xxxxxxxxx>
Я уже писал сюда про эту проблему, но дело было перед НГ и формулировка подкачала :) Постараюсь пояснить подробней в чем дело.

Вот правило:
rewrite ^/download/([^/]+)/(.+)/$       /index.php/download/?hash=$1&filename=$2        last;

Запускаем на вход вот такой url (валидный, строки обработаны заранее urlencode):
/download/b7050cd8740a51db29c7bef9a81c74b970cabca3/19%20Thr3shold%20%26%20Detune%20-%20Shapeshifter%20(Epic%20Mix).mp3/

На выходе получаем:
["QUERY_STRING"]=>
string(120) "hash=b7050cd8740a51db29c7bef9a81c74b970cabca3&filename=19%20Thr3shold%20&%20Detune%20-%20Shapeshifter%20(Epic%20Mix).mp3"

То, что было на входе было закодированным амперсантом (%26), на выходе магическим образом опять им стало, только уже без энкода, соотвественно появляется фантомая переменная и имя файла обрезается. Аналогичный результат получаем и когда на входе амперсант незакодирован. Интересно еще то, что пробелы (%20) без всяких проблем оказываются в результирующей строке, чего не скажешь о закодированных символах прямого слеша или апострофа, которые раскодируются в процессе рерайта в оригинальные.

Есть какое то разумное объяснение такому поведению и есть ли способ сохранить оригинальные строки в результирущем url? Заранее благодарен за все ответы.


Саша Радостин

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru




--
Faithfully yours, Eugenie
ICQ #701217
GTalk ekruglov@xxxxxxxxx
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.