使用Nginx创建子域时出错

时间:2015-03-26 17:21:27

标签: nginx

这是我第一次使用Nginx,我正在尝试创建一个子域,但是一旦我在浏览器中输入子域,我就会收到错误 This web page is not available :( ,所以我在这里帮助你,请

我有一个移动配置

server {
    large_client_header_buffers 1 1K;

    listen       80;
    server_name  www.the-thing.mobi  the-thing.mobi;
    root   /home/c0pt/things/thingsMobile/www;

    location / {
     index index.html index.htm
     ...
    }
 }

和另一个用于网络,这是一个无效的

server {
    listen       80;
    server_name  www.desktop.the-thing.mobi  desktop.the-thing.mobi;
    root   /home/c0pt/things/thingsWebApp/dist;

    location / {
     index index.html index.htm
     ...
    }
 }

如果我输入www.the-thing.mobi这是移动设备的子域,则一切正常,但如果我输入www.desktop.the-thing.mobi,则会出现错误消息 This web page is not available :( 起来。

那么,我做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试下面的配置

server {
    large_client_header_buffers 1 1K;

    listen 80;
    server_name  "~^(?<subdomain>[^.]*)\.?the-thing.mobi$"  the-thing.mobi www.the-thing.mobi;


    location / {
     if($subdomain){
      root /home/c0pt/things/thingsWebApp/dist;  
     }
     if ($host = 'the-thing.mobi'|$host = 'www.the-thing.mobi') {
     root /home/c0pt/things/thingsMobile/www;  
     }
     index index.html index.htm
     ...
    }
 }