想把目录变成二级域名,怎么做?

2016-07-01 12:02:00 +08:00
 tester4
比如 xx.xx/a/ 变成 a.xx.xx 怎么做???
4134 次点击
所在节点    NGINX
13 条回复
cxlxkin
2016-07-01 12:05:17 +08:00
这个很基础的啊。还有你环境也不说。。。
lslqtz
2016-07-01 12:06:57 +08:00
很基础的。
caixiexin
2016-07-01 12:12:49 +08:00
配一个 location 规则匹配 xx.xx/a/ 然后 rewrite 成 a.xx.xx
tester4
2016-07-01 12:20:32 +08:00
@caixiexin 这么做以后 /a/里面的 PHP 还正常运行吗?目录里的图片视频什么的?也正常显示吧?我不懂吖~
dxwwym
2016-07-01 12:26:21 +08:00
记得以前有个 idc 可以范解析到服务器,随意建一个文件夹直接就对应二级域名,这种咋实现的啊?
caixiexin
2016-07-01 12:30:22 +08:00
@tester4 建议把问题描述得更清楚哈,比如到底只是要重写路径,还是把二级目录以及子目录请求转发到 a.xx.xx ,还有 a.xx.xx 下有什么服务呢,跟原来 xx.xx 什么关系?
这样大家才能帮到你
ixinshang
2016-07-01 12:36:32 +08:00
好像可以用二级目录还是什么的
ryd994
2016-07-01 12:56:28 +08:00
server_name ~^(.+)\.example\.com$;
root /var/www/example.com/$1/;
kamikat
2016-07-01 13:08:21 +08:00
提供个 docker 的解法:
1. 先安装 docker 然后 run 一个 nginx-proxy 容器
2. 写一个 default.conf 做主域名的反向代理,然后 run 一个 nginx 容器设定 -e VIRTUAL_HOST=xx.xx -v default.conf:/etc/nginx/conf.d/default.conf
3. 写一个 a.conf 做子域名的反向代理,然后 run 一个 nginx 容器设定 -e VURTIAL_HOST=a.xx.xx -v a.conf:/etc/nginx/conf.d/a.conf
4. 完成
zeac
2016-07-01 13:59:21 +08:00
@kamikat 明明就是加一个 server{} block 的问题 非要上 docker 然后再上两个.conf 文件 折不折腾啊你
kamikat
2016-07-01 14:13:03 +08:00
@zeac 说的好!
tester4
2016-07-01 16:30:36 +08:00
@kamikat 好麻烦啊,又不会写代码,难死了,而且程序根据用户注册的用户名生成目录,然后用 目录.xx.xx 这样访问
@ryd994 先谢了,我研究研究吧
@caixiexin 恩,我自己研究下,谢谢啦。
jrhu05
2016-07-01 18:42:39 +08:00
子目录绑定

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

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

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

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

© 2021 V2EX