ПРОЕКТЫ 


  АРХИВ 


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: Редирект директории на урл со слешем в конце


  • 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


 




Copyright © Lexa Software, 1996-2009.