我试图使用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
你知道这里的根是不同的,移动和网络生活在不同的地方。
那么,我在这里遗漏了什么?
最佳答案
我管理的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