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

Перенаправить корневой каталог nginx на другой URL-адрес?

я сервер статический файл с nginx. что я хочу сделать, чтобы когда кто-то просматривал

http://foo.bar.com/

его перенаправляют на

http://bar.com

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

http://foo.bar.com/blog/main.css

любой совет?

Спасибо!

Прежде всего вам понадобятся 2 серверных блока, один для foo.bar и один для bar.

Затем в блоке сервера foo.bar вы указываете пару местоположений.

location / {
    rewrite ^ http://bar.com
}

location ~ ^/blog/.+\.(jpg|css|png)$ {
    try_files $uri @rewrite;
}

location @rewrite {
    rewrite ^ http://bar.com
}

Местоположения Nginx работают по специфике, поэтому местоположение регулярного выражения будет использоваться перед местоположением / если URI совпадает, там мы проверяем, существует ли файл, и если он его обслуживает, в противном случае мы перенаправим в любом случае.

Я настоятельно рекомендую вам прочитать вики, поскольку все это указано там, и это должно помочь вам понять это полностью.