Переписать местоположение на поддомен в nginx - PullRequest
2 голосов
/ 27 декабря 2011

Как я могу переписать поддомен для приложения в NGINX?

Моя конфигурация

server {
    listen       80;
    server_name domain.com www.domain.com;

    location / {
            include        uwsgi_params;
            uwsgi_pass     127.0.0.1:9001;
            uwsgi_param    UWSGI_PYHOME PATH;
            uwsgi_param    UWSGI_SCRIPT wsgi;
            uwsgi_param    UWSGI_CHDIR PATH;
    }

    location /app1 {
            include        uwsgi_params;
            uwsgi_pass     127.0.0.1:9001;
            uwsgi_param    UWSGI_PYHOME PATH2;
            uwsgi_param    UWSGI_SCRIPT wsgi2;
            uwsgi_param    UWSGI_CHDIR PATH2;
            uwsgi_modifier1 30;
    }
}

Я хочу, чтобы при доступе к app1.domain.com меня переписали на domain.com/ app1.Как я могу это сделать?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 02 января 2012

Вы можете просто добавить субдомен к имени сервера, и в этом случае он будет работать как домен, но пользователь не будет перенаправлен, а в адресной строке будет отображаться субдомен:

server {
    listen       80;
    server_name domain.com www.domain.com app1.domain.com;

    location / {
            include        uwsgi_params;
            ...
    }
}

Кроме того, вы можете создать специальный сервер для субдомена, который перенаправляет на домен:

server {
    listen       80;
    server_name app1.domain.com;
    rewrite ^ http://domain.com$request_uri? permanent;
}

server {
    listen       80;
    server_name domain.com www.domain.com;

    location / {
        include        uwsgi_params;
        ...
    }
}
1 голос
/ 31 декабря 2011

Не думаю, что вам нужно - вы можете добавить другой раздел сервера, например:

server {
  server_name app1.domain.com;
  location / {
    <uwsgi as before>
  }
}

вместо location /app1 с последующим перенаправлением. Надеюсь, это поможет.

...