我是 Nginx 新手,两天前从 Apache 转换过来的。
使用 Apache,我的网站有 1 个主 URL(www.example.com 和 example.com)和 2 个子域名(s1.example.com 和 s2.example.com)。
我成功配置了 Nginx 与 PHP 一起工作,但是有一个主要问题:
在配置文件中,我设置了一个服务器块
server_name example.com www.example.com
在它下面的另一个服务器块中,我设置了(使用不同的根)
server_name s1.example.com s2.example.com
另外,我已将 /etc/hosts 文件中的 example.com、www.example.com、s1.example.com 和 s2.example.com 全部指向本地主机 IP(并且 www、s1 和 s2 的域 CNAME 都设置为 example.com)。
问题是我访问的每个 URL 都给出与 example.com 相同的结果。所有提到的 URL 都给出相同的页面(example.com 中的 index.html)。
我的配置文件有问题吗?
答案1
不确定您如何设置虚拟主机,因为您应该提供更多的配置文件。
然而这样的事情应该有效:
server {
listen 80;
index index.html index.htm;
}
server {
server_name example.com www.example.com;
root /var/www/domain1;
}
server {
server_name s1.example.com s2.example.com;
root /var/www/domain2;
}