nginx获取url的子域并确定文档根目录

时间:2016-06-05 22:53:05

标签: php regex nginx

我不是nginx的专家,但我通过这样做解决了我的问题:

server_name ~^(?<vhost>.*)$;
root /var/www/$vhost/public;

例如,如果用户输入网络浏览器http://sysadmin.mydomain.com,nginx将使用 /var/www/sysadmin.mydomain.com/public

的文档根目录

这样做很好,但是这样做我用PHP $ _SERVER创建了另一个问题[&#39; SERVER_NAME&#39;];并且它将打印:〜^(?。*)$ 在我的代码中的其他地方引起问题。

我的解决方案适用于nginx,但它不是正确的解决方案。我怎样才能实现这一点并仍保持“可读性”。服务器名称?

1 个答案:

答案 0 :(得分:2)

这就是我想要的技巧:

server_name mydomain.com ~^(?<vhost>.+)\.mydomain\.com$;
root /var/www/$vhost.mydomain.com/public;

$ _ SERVER ['SERVER_NAME']将回复:mydomain.com,这对我想要的很好。