AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] Nginx完美解决二级域名绑定到子目录方案 (支持N级、多后缀) |
|
---|---|
amysql |
amysql 发表于 2013-08-26 12:17:34
1、匹配版本一
amh3.2之前版本使用的方法: if ( $host ~* "(.+)\.(.+)\.(.+)" ) { set $domain $1; } 存在问题: 1、不能匹配二级以上的域名,如: my.bbs.amysql.com 2、不可匹配多后缀的顶级域名,如: bbs.amysql.com.cn 3、匹配到www二级域名,需再次判断是否为www,如: www.amysql.com 2、匹配版本二 改进版本,不匹配www二级域名,但同样存在第一版本的1、2点的问题。 if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) { set $subdomain $1; } 2、匹配版本三 相对完美版本,解决上以存在的问题,来自AMH 4.0新版本。 if ( $host ~* "(?:(\w+\.){0,})(\b(?!www\b)\w+)\.\b(?!(com|org|gov|net|cn)\b)\w+\.\w+" ) { set $subdomain "/$2"; } 可正常匹配: amysql.com => 无 www.amysql.com => 无 bbs.amysql.com => bbs my.bbs.amysql.com => bbs bbs.amysql.com.cn => bbs 完整Nginx配置: set $subdomain ''; if ( $host ~* "(?:(\w+\.){0,})(\b(?!www\b)\w+)\.\b(?!(com|org|gov|net|cn)\b)\w+\.\w+" ) { set $subdomain "/$2"; } root /home/wwwroot/domain.com/web$subdomain; 以上做一总结, 其它环境有需要的用户可以参考使用。
点赞,加油! (10分)
2013-08-26 12:17:34 1
AMH面板 - 好用高效低占用、安全可靠极稳定 |
恶小弟 |
没看懂...
回复
2013-08-26 14:40:13 2
|
yingwu |
我也没看懂.. 求 举例~
回复
2013-08-26 15:19:58 3
|
amysql |
例子上面都有了,这是一分享帖子。
关于二级域名绑定子目录的功能, AMH 4.0新版本的一些细节改进的地方。
回复
2013-08-26 18:31:04 4
|
wxjback |
说实话 每太看明白 楼主能给个
aaa.bbb.com 绑定到 yyy 子目录的例子吗? 另外 主域名 bbb.com与*.bbb.com 绑定根目录,会不会影响 aaa.bbb.com 绑定到yyy 目录呢,还是不影响?
回复
2013-11-07 11:37:35 5
|
tanyuxiang |
回复
2013-11-07 14:31:40 6
|
amysql |
root /home/wwwroot/domain.com/web$subdomain; 上面再加一判断$host是否等于aaa.bbb.com,是的话 set $subdomain "/yyy";
回复
2013-11-08 09:58:31 7
|
shylocker120 |
呵呵标记
回复
2013-11-09 08:39:42 8
|
ynyjyz |
绑定子目录成功,但为何访问静态文件正常,访问php文件就报404,楼主有这情况吗?
回复
2014-03-20 16:40:10 9
|
ynyjyz |
绑定子目录成功,但为何访问静态文件正常,访问php文件就报404,楼主有这情况吗?
回复
2014-03-20 16:41:57 10
|