nginx 如何指定某个二级域名到指定目录

2016-04-25 11:09:44 +08:00
 evin

比如说我想默认所有的域名都跳到 /wwwroot/default/public
但是 phpmyadmin.domain.com 跳到 /wwwroot/default/phpmyadmim

8570 次点击
所在节点    Linux
12 条回复
coolzjy
2016-04-25 11:11:46 +08:00
一个新的解析 + 一个新的 server
或者用泛域名
LINAICAI
2016-04-25 11:24:09 +08:00
1 、指定泛域名解析*到你这个 /wwwroot/default/public
2 、新建虚拟主机绑定二级域名到 /wwwroot/default/phpmyadmim
evin
2016-04-25 11:25:26 +08:00
@coolzjy 我在后面原先 conf 文件最后 加一个
server{
listen 443;
server_name phpmyadmin.domain.com;
root /wwwroot/default/phpmyadmim
}

但是不行
mornlight
2016-04-25 11:41:27 +08:00
@evin 大致就是这么配置的,不过为啥这个你监听了 443 ,配置了 HTTPS 证书吗?
root /wwwroot/default/phpmyadmim 最后要有分号
digimoon
2016-04-25 11:43:43 +08:00
nginx 是不是按顺序从上到下匹配的?试试看将特例放在前面,默认放后面?
xrxsh
2016-04-25 11:45:31 +08:00
对啊,为啥监听 443 , https 了吗? 80 端口也可以多个域名啊
evin
2016-04-25 12:04:15 +08:00
@xrxsh @mornlight 对 我配置的 https
chaegumi
2016-04-25 12:31:37 +08:00
set $subdomain '/wwwroot/default/public';
if ($host ~* phpmyadmin.domain.com){
set $subdomain '/wwwroot/default/phpmyadmin/$1';
}

root $subdomain;
evin
2016-04-25 12:57:26 +08:00
@LINAICAI 用你的方法成功了 谢谢
evin
2016-04-25 12:57:35 +08:00
@chaegumi 谢谢
lslqtz
2016-04-25 13:05:36 +08:00
server{
listen 443;
server_name phpmyadmin.domain.com;
root /wwwroot/default/phpmyadmim
}
所以证书哪去了
evin
2016-04-26 11:28:20 +08:00
@lslqtz 我后来加上了

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

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

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

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

© 2021 V2EX