常规/ etc / nginx / vhosts / default - 如何指定服务器范围的设置?

时间:2011-05-12 11:46:27

标签: configuration nginx settings

从我看到的,如果我在/ etc / nginx / vhosts / default中写入,效果将是服务器范围,与每个域confs相反。我似乎不知道如何编写规则来从/index.html或/dir/index.html ro /或/ dir /重定向以获得服务器范围的效果。

问题是在CentOS上运行会在/ home / user / public_html和nginx中生成文件,我无法看到用户部分在root指令中使用它。我想到了这样的事情:

---
server
{
listen 111.111.111.111:80;           // fake IP
server_name "";                      // this to take in all hosts... ??
root ~^/home/(.*)/public_html;       // this (.*) would contain the user part
rewrite ^(.*/)index.(html|htm) http://$host$1 permanent;
}
---

正如你所看到的......可能..我试图让所有网站的重定向工作,而不必手动编辑每个特定的每个域conf文件,而是将它放在/ etc / nginx / vhosts / default conf中文件。

非常感谢任何帮助:)

谢谢

1 个答案:

答案 0 :(得分:0)

你可能需要这样的东西

server {
    server_name   ~^(www\.)?(?<user>.+)\.domain\.com$;

    location / {
        root  /home/$user/public_html;
    }
}

此外,您无法在root中使用正则表达式,因为它的定义不匹配。