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
|