我有一个 nginx 服务器指令:
server {
listen 80;
server_name mydomain.net;
root /home/sites/mydomain.net;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/sites/mydomain.net$fastcgi_script_name;
fastcgi_index index.php;
}
}
当我访问 mydomain.net 时,这个功能很好用。但是这里没有说如果用户访问 www.mydomain.net,则应用这些内容
我所做的搜索显示人们有一个完整的其他指令,使用 server_name www.mydomain.net 进行监听,这似乎不太好。例如
server {
listen 80;
server_name www.mydomain.net;
root /home/sites/mydomain.net;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/sites/mydomain.net$fastcgi_script_name;
fastcgi_index index.php;
}
}
基本上就是将配置代码加倍。或者进行重写。
有没有更简单的方法可以做到这一点?
答案1
您可以使用多个名称server_name
,甚至可以重复。
例如,要回答三个主机名,您可以执行以下操作:
server {
server_name example.com www.example.com;
server_name api.example.com;