Назад | Перейти на главную страницу

Наличие дважды блока «location / {}» в nginx

Для всех наших сайтов у нас есть включаемый файл, который, среди прочего, содержит несколько вещей:

location / { 
    try_files $uri /index.php?$query_string;
}

Для одного сайта мы действительно хотим перенаправить все запросы с mysite.com/ на mysite.com/blog в качестве временного «исправления». Блок выглядит так:

server {
    server_name mysite.com;
    root        /var/www/mysite;
    include     conf.d/common.conf.inc;

    # Redirect blog
    location / {
        rewrite / /blog redirect;
    }
}

Однако это не удается из-за следующей ошибки:

Тестирование конфигурации nginx: nginx: [Emerg] повторяющееся местоположение "/" в / etc / nginx / sites-enabled / mysite: 7

Вопрос

Как мы можем получить серверный блок с location / {} для try_files и перенаправить все запросы от / к /blog?

Вы можете попробовать сделать перенаправление только из корневого каталога:

 location = / {
        rewrite / /blog redirect;
    }