V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xmlf
V2EX  ›  问与答

各位大佬,如何实现在一个 nginx 配置文件中,不同域名访问,显示不同页面?

  •  
  •   xmlf · 2018-10-15 11:01:49 +08:00 · 2032 次点击
    这是一个创建于 2265 天前的主题,其中的信息可能已经有所发展或是发生改变。
    20 条回复    2018-10-16 09:34:21 +08:00
    AlkTTT
        1
    AlkTTT  
       2018-10-15 11:16:46 +08:00
    不同页面,是一个服务里的,还是不同服务?
    lhx2008
        2
    lhx2008  
       2018-10-15 11:20:38 +08:00 via Android
    给后端传参数,Host 啥的
    xmlf
        3
    xmlf  
    OP
       2018-10-15 11:32:33 +08:00
    @AlkTTT 比如 a.com 显示的是 index.html
    b.com 显示的是 default.html

    都是在一个服务里面。
    xmlf
        4
    xmlf  
    OP
       2018-10-15 15:17:14 +08:00 via Android
    有大佬知道如何解决吗?
    itbeihe
        5
    itbeihe  
       2018-10-15 15:19:36 +08:00
    一个域名一个配置文件实现吧,比较简单。
    RobertYang
        6
    RobertYang  
       2018-10-15 15:29:06 +08:00 via Android
    分别给域名下面设置一下 index 到不同文件呗
    xmlf
        7
    xmlf  
    OP
       2018-10-15 15:57:52 +08:00 via Android
    @RobertYang 如何在一个配置文件中实现?
    xmlf
        8
    xmlf  
    OP
       2018-10-15 15:58:12 +08:00 via Android
    @itbeihe 我是想知道如何在一个配置文件中实现…
    Cbdy
        9
    Cbdy  
       2018-10-15 16:00:47 +08:00   ❤️ 1
    你需要的东西叫做**虚拟主机**
    shansing
        10
    shansing  
       2018-10-15 16:03:59 +08:00
    一个配置文件不是也可以有多个 server{} 块么?
    tilv37
        11
    tilv37  
       2018-10-15 16:15:43 +08:00
    多个 server,根据 host 转发不同地址就行了吧
    xmlf
        12
    xmlf  
    OP
       2018-10-15 19:22:07 +08:00 via Android
    @tilv37 难道只能多个 server 吗?
    oyosc
        13
    oyosc  
       2018-10-15 19:31:52 +08:00
    @xmlf 也可以正则吧,得到它的 host,根据 host 设置不同的路径
    ys0290
        14
    ys0290  
       2018-10-15 19:38:28 +08:00 via iPhone   ❤️ 1
    一个 server 可以的,可是好好活着不好么,为什么要这么难为自己?
    play78
        15
    play78  
       2018-10-15 19:38:32 +08:00
    https://www.cnblogs.com/ayao/archive/2013/07/16/nginx.html
    看这篇博客最后一个配置,是否满足。
    就是根据浏览器 HTTP Header 中的 Host 字段来判断转发。
    RobertYang
        16
    RobertYang  
       2018-10-15 19:56:16 +08:00 via Android
    @xmlf 配置里面多个 server 块不就行了?
    Phariel
        17
    Phariel  
       2018-10-15 20:00:03 +08:00
    openresty 的 lua 脚本可以满足你
    dezhou
        18
    dezhou  
       2018-10-15 21:28:34 +08:00 via Android
    复制 server 模块,不同的 server name 就是做这个的
    imdong
        19
    imdong  
       2018-10-15 22:21:01 +08:00
    重写到 root /www/htdocs/$host 这样?
    或者 应用端判断一下?
    比如 PHP 判断一下 $_SERVER['host']
    coolloves
        20
    coolloves  
       2018-10-16 09:34:21 +08:00
    nginx server_name 用正则
    server
    {
    listen 80;
    server_name ~^(www\.)?(.+)$;
    index index.php index.html;
    root /data/wwwsite/$2;
    }
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   953 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:38 · PVG 05:38 · LAX 13:38 · JFK 16:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.