2014-04-22 40 views
1

我有一个A Nginx上的名称域设置,我在Digital Ocean上也有通配符DNS设置。Nginx Wild Card Domain

我想我的主要领域为指向是:/usr/share/nginx/html/mission13.io

然后,我会像所有的通配符域指向其各自的文件夹:

  • /usr/share/nginx/html/sub1.mission13.io
  • /usr/share/nginx/html/sub2.mission13.io
  • /usr/share/nginx/html/sub3.mission13.io

这是我的,但我不知道该怎么做才能让他们指向正确的位置。我可以改变做什么?

server{ 
    listen 80; 
    root /usr/share/nginx/html/mission13.io; 
    index index.php index.html index.htm; 

    server_name mission13.io www.mission13.io *.mission13.io; 

    location/{ 
      try_files $uri $uri/ /index.html; 
    } 
    include /usr/share/nginx/conf/mission13.io.conf; 
    location ~ \.php$ { 
      fastcgi_pass unix:/var/run/php5-fpm.sock; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      include fastcgi_params; 
    } 
} 
+0

如何设置“Nginx上的名称域设置”?请帮助 –

回答

0

请更改服务器名称_然后它会搜索文件夹与主机名内root /usr/share/nginx/html/ directory.so另一种方式,你的目录看上去干净

server{ 
listen 80; 
root /usr/share/nginx/html; 
index index.php index.html index.htm; 

server_name _; 

location/{ 
     try_files $uri $uri/ /index.html; 
} 
include /usr/share/nginx/conf/mission13.io.conf; 
location ~ \.php$ { 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
} 
} 
+0

当我这样做,它会进入错误的目录... –

+0

我得到这个的原因是因为它匹配的第一个服务器块。它可以找到它将为根目录设置的那个。 –

+0

我改变了我的根路径,请验证它。 – Jenorish

0

Got it!

我需要使用$ HTTP_HOST像这样:

root /usr/share/nginx/html/$http_host;