
Nginx配置:实现多域名解析及静态与伪静态页面共存
本文介绍如何在单服务器上使用Nginx配置实现多个域名解析,并同时支持静态和伪静态页面。我们将以两个域名为例:www.sf.com和m.sf.com,它们指向同一目录,但访问方式有所不同。
场景需求
需要满足以下条件:
-
www.sf.com和m.sf.com解析到同一目录。 -
www.sf.com直接访问静态页面(例如:www.sf.com/abc.html)。 -
m.sf.com访问伪静态页面(例如:m.sf.com/abc.html实际访问m.sf.com/index.php?name=abc)。
Nginx配置方案
通过Nginx配置,可以轻松实现以上需求。
-
静态页面访问 (www.sf.com)
www.sf.com的静态页面访问无需特殊配置,Nginx默认会处理。只要目标目录下存在对应的.html文件,即可直接访问。 -
伪静态页面访问 (m.sf.com)
对于
m.sf.com,我们需要在Nginx配置文件中添加以下规则:location ~* (.*)\.html { rewrite (.*)\.html /index.php?name=$1 last; }这段配置会将所有以
.html结尾的请求重写为index.php?name=加上文件名(去除.html后缀)。last标志确保重写后继续处理后续Nginx配置。
通过以上Nginx配置,www.sf.com将直接提供静态页面,而m.sf.com则通过伪静态方式访问动态内容,从而在一个服务器上实现了多域名解析和静态/伪静态页面的共存。










