我是最后我已经不再使用 Apache,而是在完全更新的 Ubuntu 10.04 VPS 上运行了最新开发版的 nginx。我为该机器配备了一个专用 IP(1.2.3.4),但有两个指向该服务器的独立域名:www.example1.com 和 www.example2.net。
我想在配置中映射 URL 和文档根之间的以下关系:
www.example1.com / example1.com -> /var/www/pub/example1.com/
subdomain.example1.com -> /var/www/dev/subdomain/example1.com/
www.example2.net / example2.net -> /var/www/pub/example2.net/
subdomain.example2.net -> /var/www/dev/subdomain/example2.net/
请求的子域名的名称是 /var/www/dev/ 下的文件夹。理想情况下,对不存在的子域名(未找到匹配的文件夹)的请求将导致重写公共站点(例如:invalid.example1.com --> www.example1.com),但是仅仅“404 Not Found”并不是世界上最糟糕的事情。如果我每次创建新子域名文件夹时都不需要修改配置,那就太好了 - 如果我不需要为新域名编辑它就更好了……但现在我变得贪心了…… :p 虽然在我的辩护中,Apache 使用一个指令完成了所有这些工作。
有谁知道如何才能在 nginx 中有效地模仿这种行为?
提前致谢,
彼得·汉尼曼
答案1
您可以执行以下操作。您可以根据 $host 请求设置根。
地点 / {
根目录/usr/local/$host/www/;
}