尝试在同一端口中设置域和子域。 (NGINX)

时间:2015-03-26 21:04:05

标签: regex .htaccess http nginx

我正在尝试使用Nginx在同一个端口中运行域和子域,但还没有成功。

我有一个名为www.just4bettors.mobi的域名,用于移动页面,子域名必须名为www.desktop.just4bettors.mobi,这显然适用于桌面网站。

如果您输入www.just4bettors.mobi一切正常,则会到达该页面,但如果您输入www.desktop.just4bettors.mobi,则会获得This web page is not available。这是我到目前为止的服务器块

server {
        large_client_header_buffers 1 1K;

        listen       80;
        server_name  ~^(?<subdomain>[^.]*)\.?just4bettors.mobi$ just4bettors.mobi;
        root   /home/c0pt/capilleira/capilleiraclickandgamblemobile/www;

        location / {
            if ($subdomain) {
               root /home/c0pt/capilleira/capilleiraclickandgambleweb/dist;
            }
            if ($host = "just4bettors.mobi") {
                root /home/c0pt/capilleira/capilleiraclickandgamblemobile/www;
            }
            index  index.html index.htm;
            ...
        }
}

尝试访问desktop.just4bettors.mobi后,控制台会返回此GET http://desktop.just4bettors.mobi/ net::ERR_NAME_NOT_RESOLVED

你知道这里的根源不同,移动和网络生活在不同的地方。

所以,我在这里错过了什么?

1 个答案:

答案 0 :(得分:4)

我管理过Nginx配置,其中使用了数百万个不同的域。尝试在一个server{}块指令中工作非常复杂。这就是我要做的事情:

server {
    large_client_header_buffers 1 1K;
    listen 80;

    server_name www.just4bettors.mobi;
    root /home/c0pt/capilleira/capilleiraclickandgamblemobile/www;

    location / {
        ...
    }
}

server {
    large_client_header_buffers 1 1K;
    listen 80;

    server_name www.desktop.just4bettors.mob;
    root /home/c0pt/capilleira/capilleiraclickandgambleweb/dist;

    location / {
        ...
    }
}

您可以在此处详细了解:http://wiki.nginx.org/Pitfalls#Server_Name