从我看到的,如果我在/ 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中文件。
非常感谢任何帮助:)
谢谢
答案 0 :(得分:0)
你可能需要这样的东西
server {
server_name ~^(www\.)?(?<user>.+)\.domain\.com$;
location / {
root /home/$user/public_html;
}
}
此外,您无法在root
中使用正则表达式,因为它的定义不匹配。