第一篇博客:nginx在重写url时,如果server_name有两个以上匹配的域名,重写规则里面不能包含$server_name

来源:互联网 发布:python接口自动化测试 编辑:程序博客网 时间:2024/05/22 17:09

说说遇到的坑,我们的应用场景是,有两台服务器,分别是测试服务器、生产服务器,域名指向也不一样,分别为a.domain.coma-dev.domain.com,为了使nginx的配置文件适用于两台服务器,不需要对每台服务器单独写配置文件,需要重写url。

但是如果重写规则中包含$server_name,则不会生效,无论访问哪个域名都会转到a.domain.com网址下。,

server {    listen 80;    server_name a.domain.com a-dev.domain.com;    index index.html index.htm index.php;location / {    rewrite ^/ http://$server_name/index.php/model/controller/action; }}

如果把$server_name改成$host,则没有问题了,哪位大侠能说下原因吗

server {    listen 80;    server_name a.domain.com a-dev.domain.com;    index index.html index.htm index.php;location / {    rewrite ^/ http://$host/index.php/model/controller/action; }}



0 0
原创粉丝点击