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

2018-10-15 11:01:49 +08:00
 xmlf
1923 次点击
所在节点    问与答
20 条回复
AlkTTT
2018-10-15 11:16:46 +08:00
不同页面,是一个服务里的,还是不同服务?
lhx2008
2018-10-15 11:20:38 +08:00
给后端传参数,Host 啥的
xmlf
2018-10-15 11:32:33 +08:00
@AlkTTT 比如 a.com 显示的是 index.html
b.com 显示的是 default.html

都是在一个服务里面。
xmlf
2018-10-15 15:17:14 +08:00
有大佬知道如何解决吗?
itbeihe
2018-10-15 15:19:36 +08:00
一个域名一个配置文件实现吧,比较简单。
RobertYang
2018-10-15 15:29:06 +08:00
分别给域名下面设置一下 index 到不同文件呗
xmlf
2018-10-15 15:57:52 +08:00
@RobertYang 如何在一个配置文件中实现?
xmlf
2018-10-15 15:58:12 +08:00
@itbeihe 我是想知道如何在一个配置文件中实现…
Cbdy
2018-10-15 16:00:47 +08:00
你需要的东西叫做**虚拟主机**
shansing
2018-10-15 16:03:59 +08:00
一个配置文件不是也可以有多个 server{} 块么?
tilv37
2018-10-15 16:15:43 +08:00
多个 server,根据 host 转发不同地址就行了吧
xmlf
2018-10-15 19:22:07 +08:00
@tilv37 难道只能多个 server 吗?
oyosc
2018-10-15 19:31:52 +08:00
@xmlf 也可以正则吧,得到它的 host,根据 host 设置不同的路径
ys0290
2018-10-15 19:38:28 +08:00
一个 server 可以的,可是好好活着不好么,为什么要这么难为自己?
play78
2018-10-15 19:38:32 +08:00
https://www.cnblogs.com/ayao/archive/2013/07/16/nginx.html
看这篇博客最后一个配置,是否满足。
就是根据浏览器 HTTP Header 中的 Host 字段来判断转发。
RobertYang
2018-10-15 19:56:16 +08:00
@xmlf 配置里面多个 server 块不就行了?
Phariel
2018-10-15 20:00:03 +08:00
openresty 的 lua 脚本可以满足你
dezhou
2018-10-15 21:28:34 +08:00
复制 server 模块,不同的 server name 就是做这个的
imdong
2018-10-15 22:21:01 +08:00
重写到 root /www/htdocs/$host 这样?
或者 应用端判断一下?
比如 PHP 判断一下 $_SERVER['host']
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;
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/497681

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX