Re: Map работа в нескольких vhosts
Валентин Бартенев
vbart at nginx.com
Tue Jul 22 11:06:00 UTC 2014
On Tuesday 22 July 2014 06:00:43 No1 wrote:
> Добавлено в http секций:
> map_hash_max_size 4096;
> map_hash_bucket_size 8192;
>
> map $uri $new {
> include redirect.conf;
> }
>
> В секций vhost'a 1 :
> if ($new) {
> return 301 $new;
> }
> На vhost 2 так же + добавленно удаление слеша rewrite ^(.+)/$ $1 permanent;
Зачем вы делаете второй редирект, когда вам нужно просто убрать /
из адреса для обработки через map?
Рекомендуется читать не "вики", а документацию, она вся тут:
http://nginx.org/ru/docs/
> На 1 работает все как надо,те ссылки /news/ /news ведут к /new_news
> На 2 не работает,если добавить к uri / ,поэтому пришлось удалять /.
>
> Вид redirect.conf :
> /news /new_news;
> /news_1 /new_news_1;
>
> Правильное поведение или должно все таки на всех vhost's работать одинаково?
>
Поскольку вы опять утаили конфигурацию, то сказать что и почему - не
представляется возможным. В одинаковых конфигурациях будет работать
одинаково. У вас они, очевидно, разные.
По всей видимости, vhost1 у вас также делает редирект на адерс без /,
но делает это сам, без вашего явного вмешательства, что также является
избыточным.
Что и как на самом деле происходит стоит смотреть не в браузере,
а более простыми инструментами, вроде netcat или telnet.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru