Re: Редирект директории на урл со слешем в конце

Maxim Dounin mdounin на mdounin.ru
Пн Июл 11 14:34:35 UTC 2011


Hello!

On Mon, Jul 11, 2011 at 05:40:29PM +0400, Глазачев Владимир wrote:

> Добрвый день всем.
> 
> Возник вопрос в целях SEO, как лучше организовать редирект с 
> запроса без слеша на конце, на запрос со слешом на конце  (ессно 
> это касается запросов идущих на директорию) например:
> 
> www.domain.com/shop -> www.domain.com/shop/
> 
> И это, естественно не должно срабатывать, на урлы такого вида: 
> www.domain.com , www.domain.com/news/news.html или 
> www.domain.com/file.php?get_parametrs

Для статики nginx так поступает автоматически, т.е. если он 
обнаруживает запрос к каталогу без "/" в конце - будет возвращён 
редирект на тот же адрес, но с добавлением "/".

Если у вас url'ы обрабатываются бекендом - это либо надо делать 
бекендом же, либо тщательно выписывать nginx'у правила что и куда 
редиректить (иначе откуда он узнает, что "new.shop" редиректить 
надо, а "new.shtml" - не надо?).

Наиболее простой (и безопасный) способ "тщательного выписывания 
правил" - сделать location'ы под нужные url'ы вида

    location /shop/ {
        fastcgi_pass/proxy_pass/...
    }

В этом случае запрос к "/shop" будет трактоваться как запрос к 
каталогу, и nginx автоматически сделает редирект на "/shop/".

Maxim Dounin



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