Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Редирект директории на урл со слешем в конце
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Редирект директории на урл со слешем в конце
- From: Глазачев Владимир <pansg@xxxxxxxxx>
- Date: Mon, 11 Jul 2011 19:15:55 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1310397356; bh=ox2ihfu4ftt74SksAw+pDLQrkaQVylbjImzdfAPWvrg=; h=From:To:In-Reply-To:References:Subject:MIME-Version:Message-Id: Date:Content-Transfer-Encoding:Content-Type; b=sp+y5Rc82yuWZQtNtc2tUrk21c49Fj3u7aRaM8nIjQ/TY0JXXWhvHDIhheKrEan4G /3GszYo0l+vqYslq7XH8RQ5pMR6TERVgWk+ACtlnkEv6StIsw8nNAZU/YbxWemySPi XcGbLeMU5Fky5d8PbUlhNnp/aM2avxudy3netlb8=
- In-reply-to: <20110711143434.GR42265@xxxxxxxxxx>
- References: <806761310391630@xxxxxxxxxxxxxxx> <20110711143434.GR42265@xxxxxxxxxx>
11.07.2011, 18:34, "Maxim Dounin" <mdounin@xxxxxxxxxx>:
> 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 так поступает автоматически, т.е. если он
> обнаруживает запрос к каталогу без "/" в конце - будет возвращён
> редирект на тот же адрес, но с добавлением "/".
Да, совершенно верно, для статики nginx так и поступает, но в данном случае
такие линки обрабатываются бакендом. Конечно, если решение не найдется на
фронтенде так и поступим
> Если у вас url'ы обрабатываются бекендом - это либо надо делать
> бекендом же, либо тщательно выписывать nginx'у правила что и куда
> редиректить (иначе откуда он узнает, что "new.shop" редиректить
> надо, а "new.shtml" - не надо?).
Ну тут вроде-бы довольно простые правила, что-то вроде: редиректить все, кроме
ссылок заканчивающихся на файл ( т.е. с раширением) , все кроме каталогов
заканчивающихся на слеш, урлов с гет параметрами
>
> Наиболее простой (и безопасный) способ "тщательного выписывания
> правил" - сделать location'ы под нужные url'ы вида
>
> location /shop/ {
> fastcgi_pass/proxy_pass/...
> }
>
> В этом случае запрос к "/shop" будет трактоваться как запрос к
> каталогу, и nginx автоматически сделает редирект на "/shop/".
>
Да, верно, но таких локейшенов будет великое множество и при изменении придется
переделывать конфиг, хочется конечно избежать таких ситуаций, по-возможности,
что-то универсальное
> Maxim Dounin
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|