server_name
是 Nginx 配置中的一个指令,用于指定当前 server 块应该响应哪些域名的请求。通过 server_name
可以实现虚拟主机(Virtual Host)的功能,即在同一台服务器上托管多个网站。
*
表示通配符,可以匹配任意子域名。例如:*
表示通配符,可以匹配任意子域名。例如:*.example.com
结尾的域名,如 www.example.com
、blog.example.com
等。_
表示通用匹配,可以匹配任意域名。例如:_
表示通用匹配,可以匹配任意域名。例如:server_name
可以灵活地配置多个域名,实现虚拟主机功能。server_name example.com;
。*
匹配任意子域名,如 server_name *.example.com;
。_
匹配任意域名,如 server_name _;
。server_name
通配符或通用匹配没有生效?原因:
解决方法:
# 精确匹配
server {
listen 80;
server_name example.com;
location / {
root /var/www/example.com;
index index.html;
}
}
# 通配符匹配
server {
listen 80;
server_name *.example.com;
location / {
root /var/www/subdomains;
index index.html;
}
}
# 通用匹配
server {
listen 80;
server_name _;
location / {
root /var/www/default;
index index.html;
}
}
希望这些信息对你有所帮助!如果有更多问题,欢迎继续提问。
领取专属 10元无门槛券
手把手带您无忧上云