ПРОЕКТЫ 


  АРХИВ 


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: Помогите написать regexp для удаления лишних слешей


  • To: Денис Ильиных <nginx-ru@xxxxxxxxx>
  • Subject: Re: Помогите написать regexp для удаления лишних слешей
  • From: "Pavel V." <pavel2000@xxxxxx>
  • Date: Mon, 10 Sep 2012 00:30:30 +0700
  • In-reply-to: <CAEBNeauV8yqZpMti5xiRFYSLWT_m7xv4Eu57=FMHZRnVH2FC-A@mail.gmail.com>
  • References: <CAEBNeauV8yqZpMti5xiRFYSLWT_m7xv4Eu57=FMHZRnVH2FC-A@mail.gmail.com>

Здравствуйте, Денис.

Вы писали 9 сентября 2012 г., 17:31:24:

> Какое то время была ошибка в урлах и яндекс проиндексировал страницы вида

> /category/subcategory//

> Теперь пытаюсь убрать такие ссылки 302 редиректом (убрать 2 и более
> слеша на конце)

> if ($request_uri ~ "^(.+)/{2,}$"){
>      rewrite "^(.+)/{2,}$" $1 permanent;
> }

> Не выходит

> if ($request_uri ~ "^(.*)/+$"){
>      rewrite "^(.*)/+$" $1 permanent;
> }

А дописать слеш в реврайт - не вариант?

Вам надо такой if (протестировано) :

if ($request_uri ~ "^(.*)//+$"){
     rewrite "^(.*)/+$" $1/ permanent;
}

Кроме того: http://wiki.nginx.org/IfIsEvil и надо написать как-то так (не 
проверено) (требуется 0.8.42+)

location ~* ^(?<varname>.*/)/+$ {
         return 302 $varname;
}

http://nginx.org/ru/docs/http/ngx_http_core_module.html#merge_slashes


> Обрезает все слеши , так как модификатор + эквивалент {1,} но мне бы
> хотелось {2,} почему такая запись не работает ?
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


-- 
С уважением,
 Pavel                          mailto:pavel2000@xxxxxx

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


 




Copyright © Lexa Software, 1996-2009.