ПРОЕКТЫ 


  АРХИВ 


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: ЧПУ и 301 redirect



Hello!

On Sun, Nov 11, 2012 at 03:01:47AM -0500, Renat wrote:

> Если человек зашел по ссылке: /?page={a}&lang={b}
> Его необходимо перенаправить на:  /{a}/{b}
> 
> Пришел к такой конструкции:
> location / {
> if ($args ~* "/?page=[a-z0-9]+&lang=[a-z]+") {
> rewrite ^ /$arg_page/$arg_lang? permanent;
> }
> }
> rewrite ^/([a-z0-9]+)/([a-z]+)(/?)+$ /?page=$1&lang=$2 last;
> 
> Таким образом зайдя по ссылке "/?page=test$lang=ru" nginx перенаправляет на
> "/test/ru".
> Но открыв страницу "/test/ru". Nginx выдает ошибку "Moved Permanently".
> Подскажите пожалуйста, что я не так делаю?

Ну так для "/test/ru" у вас делается rewrite в 
"/?page=test&lang=ru", и следом за этим опять перенаправление на 
"/test/ru".  Т.е. nginx делает ровно то, что вы написали.  Вопрос 
состоит в том, что вы хотели написать, т.е. что нужно делать с 
"/test/ru".

-- 
Maxim Dounin
http://nginx.com/support.html

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


 




Copyright © Lexa Software, 1996-2009.