我有一个带有 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;
}
}
Run Code Online (Sandbox Code Playgroud)
当我访问 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;
}
}
Run Code Online (Sandbox Code Playgroud)
基本上将配置代码加倍。或者以其他方式进行重写。
有没有更简单的方法来做到这一点?
您可以在其中使用多个名称server_name
,甚至可以重复使用。
例如,要回答三个主机名,您可以执行以下操作:
server {
server_name example.com www.example.com;
server_name api.example.com;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
172 次 |
最近记录: |