Re: Помогите написать location (urlencode)
Валентин Бартенев
vbart at nginx.com
Sun Feb 24 23:02:54 UTC 2013
On Sunday 24 February 2013 06:50:18 valet wrote:
> >Если запрос приходит в таком виде, то это уже не параметры, а имя
>
> запрошенного
> файла.
> Именно так, если ничего не сделать выдаст по понятным причинам 404 по
> такому запросу.
>
> >Должно помочь:
> >
> >location /files/check.php? {
> >rewrite \?(.*)$ /files/check.php?$1? last;
> >}
>
> Спасибо за помощь, но к сожалению не работает. Управление уже передается на
> php (то есть локейшен ловится), но ведь php-скрипт примет в этом варианте
> неправильные параметры, да и с чего бы они подались правильные - ведь в
> вашей регулярки отсутствует какое-либо разделение параметров id и title...
Так вы укажите правильные параметры, в частности QUERY_STRING и REQUEST_URI,
тогда всё будет работать. Указанный rewrite превратит ваш кривой запрос с
закодированными параметрами в нормальный, и не нужно никакого "разделения
параметров".
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_URI $uri$is_args$args;
--
Валентин Бартенев
http://nginx.com/support.html
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru