如何在一个服务器上通过Nginx配置实现多个域名解析并支持静态与伪静态页面的共存?(静态,多个,共存....)

feifei123 发布于 2025-03-16 阅读(1)

如何在一个服务器上通过nginx配置实现多个域名解析并支持静态与伪静态页面的共存?

Nginx配置:实现多域名解析及静态与伪静态页面共存

本文介绍如何在单服务器上使用Nginx配置实现多个域名解析,并同时支持静态和伪静态页面。我们将以两个域名为例:www.sf.com和m.sf.com,它们指向同一目录,但访问方式有所不同。

场景需求

需要满足以下条件:

  1. www.sf.com和m.sf.com解析到同一目录。
  2. www.sf.com直接访问静态页面(例如:www.sf.com/abc.html)。
  3. m.sf.com访问伪静态页面(例如:m.sf.com/abc.html实际访问m.sf.com/index.php?name=abc)。

Nginx配置方案

通过Nginx配置,可以轻松实现以上需求。

  1. 静态页面访问 (www.sf.com)

    www.sf.com的静态页面访问无需特殊配置,Nginx默认会处理。只要目标目录下存在对应的.html文件,即可直接访问。

  2. 伪静态页面访问 (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则通过伪静态方式访问动态内容,从而在一个服务器上实现了多域名解析和静态/伪静态页面的共存。

以上就是如何在一个服务器上通过Nginx配置实现多个域名解析并支持静态与伪静态页面的共存?的详细内容,更多请关注资源网其它相关文章!

标签:  nginx php html 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。