AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] [CP原创教程]解决amh面板绑定子目录域名和文件夹不对应 |
|
---|---|
Captain |
Captain 发表于 2014-04-21 02:28:11
本帖最后由 Captain 于 2014-4-21 02:43 编辑
教程目的:amh本身有绑定子域名(二级域名)到子目录的功能,但是是匹配的,比如bbs.xxxx.com绑定bbs目录,abc.xxxx.com绑定abc目录,但是有的时候程序固定了目录无法修改,比如你想绑定bbs.xxxx.com,到forum文件夹,或者这个子目录你想绑定多个子域名(二级域名) 解决:通过修改配置文件,解决amh面板绑定子域名(二级域名)到子目录时候,子域名(二级域名)和子文件夹名不对应的问题 一、首先必须到面板里绑定域名并开启“二级域名绑定子目录”功能 绑定域名我就不截图了,可以绑定bbs.xxxx.com,abc.xxxx.com,也可以直接绑定泛域名*.xxxx.com 接下来开启“二级域名绑定子目录”功能,如下图 二、修改配置文件 可以ssh或者sftp找到/usr/local/nginx/conf/vhost这个文件夹 找到对应网站的conf文件,比如xxxx.conf,vi编辑/usr/local/nginx/conf/vhost/xxxx.conf或者用sftp软件编辑这个conf文件 增加红色的部分(作用是,当访问的域名是bbs.xxxx.com时候网站文件指向到/forum这个子目录) 引用: server { listen 80; server_name www.xxxx.com xxxx.com *.xxxx.com; #server_name end index index.html index.htm index.php; #index end set $subdomain ''; if ( $host ~* "(?:(\w+\.){0,})(\b(?!www\b)\w+)\.\b(?!(com|org|gov|net|cn)\b)\w+\.[a-zA-Z]+" ) { set $subdomain "/$2"; } if ( $host = 'bbs.xxxx.com' ){ set $subdomain "/forum"; } root /home/wwwroot/www.xxxx.com/web$subdomain; include rewrite/amh.conf; #rewrite end ....................以下配置文件省略 如果想绑定多个子域名(二级域名),以此类推 引用: server { listen 80; server_name www.xxxx.com xxxx.com *.xxxx.com; #server_name end index index.html index.htm index.php; #index end set $subdomain ''; if ( $host ~* "(?:(\w+\.){0,})(\b(?!www\b)\w+)\.\b(?!(com|org|gov|net|cn)\b)\w+\.[a-zA-Z]+" ) { set $subdomain "/$2"; } if ( $host = 'bbs.xxxx.com' ){ set $subdomain "/forum"; } if ( $host = 'luntan.xxxx.com' ){ set $subdomain "/forum"; } root /home/wwwroot/www.xxxx.com/web$subdomain; include rewrite/amh.conf; #rewrite end ....................以下配置文件省略 三、验证生效 加好后保存退出 然后ssh执行下amh nginx restart或者到面板里重载一下nginx 看看是不是生效了
点赞,加油! (25分)
2014-04-21 02:28:11 1
|
amysql |
没错。这样可以直接定义绑定。
面板上同样可以操作。 安装AMRewrite模块。 在虚拟主机相应的AMRewrite规则添加: 引用: if ( $host = 'bbs.xxxx.com' ){ set $subdomain "/forum"; } 这个就完成了。bbs二级域名绑定到forum目录。 另外不需开启“二级域名绑定子目录”,这是自动匹配绑定。
回复
2014-04-21 12:43:45 2
AMH面板 - 好用高效低占用、安全可靠极稳定 |
1024 |
支持 支持 支持
回复
2014-04-25 15:15:55 3
|
X团队 |
顶顶顶 我是新人 不懂 大家说怎么样!
强烈建议 大大 入驻 阿里云
回复
2014-08-23 02:40:26 4
|
aiaiioi |
照做了后访问400
回复
2014-09-04 23:39:22 5
|
aiaiioi |
为什么400 - -!!!求大神~
回复
2014-09-04 23:40:58 6
|
Captain |
回复
2014-09-06 11:42:39 7
|
天堂 |
是把这个加在伪静态规则后面吗?一个网站只能用一个AMR模块啊, 昨天我这样加不行啊。 引用:
location / { rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last; rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last; rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last; rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last; rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last; rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last; rewrite ^([^\.]*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3 last; if (!-e $request_filename) { return 404; } } if ( $host = 'img.92af.com' ){ set $subdomain "/date"; }
回复
2014-12-11 12:02:30 8
|
ITbobo |
收藏~ 支持
回复
2014-12-27 01:03:08 9
|
夜芯幽燃 |
域名指向是成功了,但是页面内的图片、详情页等等都会出错。 支持
排查了的结果就是 1、我指向前的目录 xxxxxx.com/abc 图片目录就是 xxxxxx.com/abc/img 2、指向成功后的地址是 abc.xxxxxx.com 图片的地址就变成 abc.xxxxxx.com/abc/img 这样是出错的,但是变成这样www.xxxxxx.com/abc/img图片是正常的 所以不知道怎么搞了...
回复
2015-02-07 04:13:47 10
|