nginx:“位置”作为“服务器”的别名?

我有nginx在/ etc / nginx / sites-enabled中设置了几个服务器

但是,我想将我的设置转换到一个域myserver.com ,所以在浏览器中input

lalala.com 

将不再让我到相应的/ usr / share / webapps / lalala子文件夹。

因此,我想创build某种types的绑定(如果可能的话),这样,如果我键入

 myserver.com/lalala 

它会redirect到/ usr / share / webapps,同时仍然应用/ etc / nginx / sites-enabled / lalala的所有configuration

这里是我的conf文件:

nginx.conf

服务器示例一ownCloud

首先删除include /etc/nginx/sites-enabled/*; 从你的nginx.conf文件开始,因为这触发了现在不想要的行为,在http级别包含/etc/nginx/sites-available/ content。

现在你可以使用一些位置,如:

 server { root /usr/chare/webapps; # Or even move it to the upper level 'http'? location /lalala { include /etc/nginx/sites-available/lalala.conf } } 

然后,您可以使用正则expression式位置来自动parsing位置string以获取包含目录中相应的(现有?)文件。

请注意一些非常重要的事情:传统上, /etc/nginx/sites-available/ -like目录的内容是server块,使得nginxconfiguration更为细化。 确保他们的内容适合包含在一个location块(尝试包括在一个locationserver显然不会工作)。

还要注意你包含的指令的范围,因为不是所有的指令都可以在内部使用。