rewrite q

Dmitry Kondratyev null at bikeman.ru
Wed Sep 28 17:17:00 MSD 2005


Igor Sysoev wrote:

>> Подскажите где я туплю. :-)
>> rewrite   ^/dir/page.php\?param=(.+)$   http://$1.site.ru/   permanent;
>>
>> Почему-то не работает.
> 
> 
> rewrite проверят только URI без агрументов. В данном случае можно
> сделать так:
> 
>    location = /dir/page.php {
>        if ( $query_string ~ "^param=(.+)$" ) {
>            set  $redirect  $1;
>            rewrite  ^   http://$redirect.site.ru/?  permanent;
>        }
>    }

Спасибо, помогло. Только не понял зачем вопрос в конце http://$redirect.site.ru/
Вроде и без него всё работает. Теперь другая проблема:

location /dir/page.php {
	if ($query_string ~ "^param1=(.+)&param2=value2$" ) {
	  set  $redirect  $1;
	  rewrite  ^   http://site/page.php?param=$redirect  permanent;
	}
}

Проблема состоит в том, что итоговый урл получается
http://site/page.php?param=$value1?param1=value1&param2=value2 вместо
http://site/page.php?param=$value1






More information about the nginx-ru mailing list