Re: Проверка $uri на валидность

sourse nginx-forum на nginx.us
Ср Дек 21 12:13:45 UTC 2011


Oleksandr V. Typlyns'kyi Wrote:
-------------------------------------------------------
> Today Dec 21, 2011 at 03:55 sourse wrote:
> 
> > *******
> > 
> > if ($request_uri != $uri)
> > rewrite ^(.*) http://$server_name$uri permanent;
> > 
> > *******
> > 
> > редирект сделан для того,
> чтобы с
> > /folder/word_1.html?query
> перекидывать на
> > /folder/word_1.html, 
> > т.к. раньше по
> /folder/word_1.html?query
> > открывалась /folder/word_1.html
> страница, а это
> > не правильно.
> 
>   Тоесть на самом деле Вы
> хотите убрать $args?
>  
> http://nginx.org/ru/docs/http/ngx_http_core_module
> .html#variables
>   if ($args) {return 404;} или if ($args)
> {return 301 http://$server_name$uri;}
> 
> -- 
> WNGS-RIPE
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

так тоже пробовал, способ не решает
проблему с $is_args в конце URL, т.е.
аргументов нет, есть только знак "?"

nginx отъедает знак вопроса в uri и
передает его на backend, backend отвечает на
правильный uri, и в итоге получаются две
одинаковые страницы по разным адресам.

site.com/folder/word_1.html?
  И
site.com/folder/word_1.html

Поэтому я сравниваю $request_uri с $uri чтобы
отсеять $is_args.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,220339,220354#msg-220354



Подробная информация о списке рассылки nginx-ru