Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Нужно убрать слэш в конц е URL
2010/12/3 Vladislav V. Prodan <universite@xxxxxxx>:
> 03.12.2010 13:20, Sergey Shepelev пишет:
>> 2010/12/3 Vladislav V. Prodan <universite@xxxxxxx>:
>>> 02.12.2010 23:15, Sergey Shepelev пишет:
>>>>> как реализовать средствами nginx?
>>>>>>
>>>> location ~ (.+)/$ {
>>>> rewrite ^ $1 permanent;
>>>> }
>>>>
>>>> Обратите внимание, что здесь вернётся 301 редирект. Дублирующийся
>>>> контент на разных урлах поисковики как раз не любят.
>>>>
>>>
>>> [emerg]: pattern "^" has less captures than referrenced in substitution
>>> "$1" in /etc/nginx/conf/vhosts/site.conf:28
>>>
>>> # nginx -V
>>> nginx version: nginx/0.7.65
>>
>> Попробуйте так
>>
>> location ~ (.+)/$ {
>> set $uri_no_slash $1;
>> rewrite ^ $uri_no_slash permanent;
>> }
>>
>> Если не получится, то так
>>
>> location ~ /$ {
>> rewrite (.+)/$ $1 permanent;
>> }
>>
>> Полагаю, что второй вариант даже предпочтительнее.
>
> Наверное, я где-то и что-то не допонял.
>
> Нужно корректно обрабатывать http://site.com/bla-bla-bla
> и делать редирект 301
> http://site.com/bla-bla-bla/ --> http://site.com/bla-bla-bla
>
> Все предыдущие конструкции делали это, но при http://site.com получался
> бесконечный цикл, ибо браузер/вебсервер делал перенаправление на
> http://site.com/, а конструкция опять перенаправляла на http://site.com
>
Вы правильно поняли, а я неправильно написал. Надеюсь, финальный вариант:
location ~ .+/$ {
rewrite (.+)/$ $1 permanent;
}
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|