nginx 配置多域名问题,求教

配置多个域名却只想同一个目录
如下图,两个网站的配置文件,及设置

nginx配置多域名问题,求教

nginx配置多域名问题,求教
配置后访问出现问题,test.com 访问正常,mytest.com 访问的目录是test

附言 1  ·  4年前

问题已经解决,我当时nginx,卸载重装了两次,第一次加上,www后出问题了,第二次在.conf 文件中加上*.mytest.com 。后可以用了,谢谢大家,谢谢

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
Sparkfly
最佳答案

这个是精确匹配问题:

nginx server_name 匹配不到时,默认取第一个 server { } (端口和ip一致)

你项目中配置:

1. server_name www.test.com
2. server_name www.mytest.com

访问 test.com/mytest.com 都找不到对应的 server_name (www.test.com != test.com , www.mytest.com != mytest.com ),所以就取第一个server { }匹配,所以均输出 test

4年前 评论
waney 4年前
讨论数量: 11
Sparkfly

这个是精确匹配问题:

nginx server_name 匹配不到时,默认取第一个 server { } (端口和ip一致)

你项目中配置:

1. server_name www.test.com
2. server_name www.mytest.com

访问 test.com/mytest.com 都找不到对应的 server_name (www.test.com != test.com , www.mytest.com != mytest.com ),所以就取第一个server { }匹配,所以均输出 test

4年前 评论
waney 4年前
Sparkfly

这个是精确匹配问题:

nginx server_name 匹配不到时,默认取第一个 server { } (端口和ip一致)

你项目中配置:

1. server_name www.test.com
2. server_name www.mytest.com

访问 test.com/mytest.com 都找不到对应的 server_name (www.test.com != test.com , www.mytest.com != mytest.com ),所以就取第一个server { }匹配,所以均输出 test

4年前 评论
waney 4年前

监听的端口都是80?

4年前 评论
不歪 (楼主) 4年前

加一下www

4年前 评论
不歪 (楼主) 4年前
arunfung

nginx 重启了没?

4年前 评论
不歪 (楼主) 4年前
Mr_Xu

说明应该是nginx的问题

4年前 评论
不歪 (楼主) 4年前
Rubto

server_name test.com www.mytest.com
这样配置就行了

4年前 评论
arunfung

@Rubto 楼主应该是想同一台机子,配置多项目,通过不同域名访问

4年前 评论
Rubto

@arunfung 是我看错了 :joy:

4年前 评论
Caral 4年前

file

file

file

file

Laravel

我也复现了, 把server_name 中的www 去掉就行了, 原因未知. 如果域名这样子配置, 访问结果是不一样的, 可能是server_name要全部匹配到, 可以这样子设置 server_name test.com www.test.com;

4年前 评论
不歪 (楼主) 4年前

mytest.com 没有绑定,你可以

server_name mytest.com *.mytest.com
4年前 评论

test.com
www.test.com
这是两个域名啊,你配置的时候是 www.test.com 访问的时候是 test.com
其实你的 test.com mytest.com 都相当于没有绑定,访问的是默认的。

4年前 评论
不歪 (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!