是否可以在没有多个域的NGINX上设置多个服务器块

时间:2015-08-18 19:21:36

标签: nginx rewrite

我有一个子域labs.mydomain.com,我想托管我在不同文件夹上开发的多个网络应用:labs.mydomain.com/app1labs.mydomain.com/app2labs.mydomain.com/app3。我希望它是由文件夹分隔的同一个域,而不是为每个域创建一个新的子域,就像上面的例子一样。

问题是我在每个项目上都使用了一些框架,所以我必须将/app1映射到/app1/public/app2映射到app2/public

NGINX是否接受server_namelabs.mydomain.com/app1接触?

有可能这样做吗?如果没有,最好的替代方案是什么?

1 个答案:

答案 0 :(得分:2)

Nginx不支持labs.mydomain.com/app1 server_name。 但您可以使用location指令为目录配置规则。示例:

location /app1 {
    alias /var/www/app1/public/;
}

location ~ ^/app1/(.+\.php)$ {
    alias /var/www/app1/public/$1;
    fastcgi_pass 127.0.0.1:8888;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    include fastcgi_params;
}