AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] 关于rewrite的见解 |
|
---|---|
iseeyo |
iseeyo 发表于 2014-11-11 14:55:39
本帖最后由 iseeyo 于 2014-11-11 15:14 编辑
假设我新建了一个wangzhan的运行环境,然后在里面新建了一个叫做test.com的主机…… 那么就会在wangzhan目录的vhost目录下生成一个test.com.conf文件,即wangzhan/vhost/test.com.conf,也就是test.com.conf这个文件里面所有的规则都是属于当前主机的,并且test.com.conf这个文件里面是可以支持多个server段的!!! amh现阶段的test.com.conf是这样的 server 上面这种写法造成test.conf文件里面不能再次使用server段,也就不能使用nginx官方阐述的最佳设置方法,A大说再单独建立一个虚拟主机的方法实际上是舍近求远的方法!!!{ listen 80; #listen end server_name test.com www.test.com; #server_name end index index.html index.htm index.php; #index end set $subdomain ''; root /home/wwwroot/wangzhan/domain/test.com/web$subdomain; include /home/wwwroot/wangzhan/rewrite/test.conf; #新增rewrite规则 …… } 正确的方法应该是这样的 server 这样的话test.conf文件里面就可以使用server段了!!!{ listen 80; #listen end server_name test.com www.test.com; #server_name end index index.html index.htm index.php; #index end set $subdomain ''; root /home/wwwroot/wangzhan/domain/test.com/web$subdomain; …… } include /home/wwwroot/wangzhan/rewrite/test.conf; #新增rewrite规则 按照上述操作之后test.conf按照下面的写法,就可以实现非指定域名禁止解析到主机了,轻而易举的防止网站被镜像、被反代! server { 最后附上nginx的官方规则说明,简简单单通过server段可以实现各种重定向(如不带www301到带www的域名、非指定域名禁止解析到主机等等)listen 80 default_server; server_name _; return 301 http://www.test.com$request_uri; } http://nginx.org/cn/docs/http/converting_rewrite_rules.html
点赞,加油! (0分)
2014-11-11 14:55:39 1
|
amysql |
楼主出发点是好,但没考虑某些情况。
有在工单回复。 现在amrewrite添加的规则就是想在server内的。不允许再添加server段的。 这样才属于当前虚拟主机的规则,也才合理。 如果你需要添加server段,可以在面板添加一个虚拟主机也就等于增加了一个server段。 然后这个server段需要进行什么操作你再使用amrewrite进行管理。
回复
2014-11-11 16:50:32 2
AMH面板 - 好用高效低占用、安全可靠极稳定 |
iseeyo |
原因我知道了! amh的/usr/local/nginx-generic-1.6.0/conf/nginx.conf 所有的主机是共用一个http的,在http里面include所有的conf文件的,这样就导致了nginx.conf 加载了包括rewrite规则里面的内容!一旦rewrite里面有了server段,意味着其他站也有了这个server段! amrewrite的作用仅限于已经存在的server段内使用,如果需要单独增加server只能通过新建虚拟主机的形式进行…… 不过只是新建一个server段配置文件非得新建一个虚拟主机有点夸张了! 支持
回复
2014-11-11 18:31:49 3
|
amysql |
回复
2014-11-12 11:08:17 4
|