nginx子域映射

时间:2012-11-02 19:34:44

标签: django configuration nginx

我想在浏览器中打开xyz.abc.com但在内部(使用python-django),我想将其映射到abc.com/xyz 以下nginx conf代码有效,但我不想将用户重定向到这个新URL(abc.com/xyz)

server {
    listen   80;
    server_name xyz.abc.com;

    location / {
        rewrite ^ http://abc.com/xyz;
        break;
}

我尝试了很多东西,包括使用proxy_pass,但它没有用。 我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以将任何第3级域名转换为第2级:

server {
    listen   80;
    server_name ~^(?<domain>.*)\.abc\.com;

    location / {
        proxy_pass http://abc.com/$domain$request_uri;
        break;
}

在你的情况下,尝试下一个:

server {
    listen   80;
    server_name xyz.abc.com;

    location / {
        proxy_pass http://abc.com/xyz$request_uri;
        break;
}

关于 request_uri http://wiki.nginx.org/HttpCoreModule