配置 Nginx 子域名的泛解析
这篇文章讲的是如何配置 Nginx 实现子域名的泛解析,让所有形如 `sub.domain.com` 的子域名请求都能被正确处理。作者从实际需求出发:希望在不破坏主域名(`domain.com` 和 `www.domain.com`)访问的前提下,让不同的子域名自动映射到服务器上对应的目录(例如 `sub` 映射到 `www-sub` 目录)。 核心方案十分巧妙:在 Nginx 配置的 `server_name` 指令中直接使用通配符 `*.domain.com` 来承接所有子域名请求。然后,通过一个正则表达式动态提取主机名中的子域名部分,并将其存入变量 `$subdomain`。最终,在 `root` 路径的定义中拼接这个变量,例如 `root /home/user/www$subdomain/;`。这样一来,访问 `blog.domain.com` 时,网站根目录就会自动指向 `/home/user/www-blog/`。 这个方案的亮点在于“动态路径映射”,避免了为每一个子域名单独编写 `server` 块的繁琐配置。作者也特意说明了正则中排除 `www` 的逻辑,确保主域名配置不受干扰。整体思路简洁高效,对于需要管理大量子域名的开发者来说,是一个非常实用的配置模板。