rewrite q
Igor Sysoev
is at rambler-co.ru
Wed Sep 28 18:23:21 MSD 2005
On Wed, 28 Sep 2005, Dmitry Kondratyev wrote:
> Igor Sysoev wrote:
>
>>> Спасибо, помогло. Только не понял зачем вопрос в конце
>>> http://$redirect.site.ru/
>>> Вроде и без него всё работает. Теперь другая проблема:
>>>
>>> location /dir/page.php {
>>> if ($query_string ~ "^param1=(.+)¶m2=value2$" ) {
>>> set $redirect $1;
>>> rewrite ^ http://site/page.php?param=$redirect permanent;
>>> }
>>> }
>>>
>>> Проблема состоит в том, что итоговый урл получается
>>> http://site/page.php?param=$value1?param1=value1¶m2=value2 вместо
>>> http://site/page.php?param=$value1
>>
>>
>> Должно быть не
>>
>> http://site/page.php?param=$value1___?___param1=value1¶m2=value2
>> http://site/page.php?param=$value1___&___param1=value1¶m2=value2
>>
>> Так ?
>>
>> Вот для этого и нужен "?" в конце:
>> http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#rewrite
>>
>> ------------
>> Если в строке замены указаны аргументы, то предыдущие аргументы запроса
>> добавляются после них. Можно отказаться от этого добавления, указав в
>> конце строки замены знак вопроса:
>>
>> rewrite ^/users/(.*)$ /show?user=$1? last;
>> ------------
>
>
> Перенесу общение сюда, потому как достало заменять название сайта и страниц.
> :-)
Куда ты хотел перенести общение ? По-моему, мы остались там же.
> Смотри, есть:
> location /default/do.php {
> if ($query_string ~ "^aid=(.+)(&|$)" ) {
> set $param $1;
> rewrite ^
> http://photofile.ru/album.php?id=$param? permanent;
> }
>
> if ($query_string ~ "^id=(.+)(&|$)" ) {
> set $param $1;
> rewrite ^
> http://photofile.ru/large_image.php?id=$param? permanent;
> }
> }
>
> Когда дёргаешь http://photofile.ru/default/do.php?id=12331158&type=1
> nginx сейчас возвращает локейшн
> http://photofile.ru/large_image.php?id=12331158&type=1
> а хотелось бы http://photofile.ru/large_image.php?id=12331158
> Что делать? :-)
if ($query_string ~ "^id=([^&]+)(&|$)" ) {
или
if ($query_string ~ "^id=(.+?)(&|$)" ) {
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list