我有一个子域labs.mydomain.com
,我想托管我在不同文件夹上开发的几个web应用程序:labs.mydomain.com/app1
, labs.mydomain.com/app2
, labs.mydomain.com/app3
。我希望它是由文件夹分隔的相同域,而不是为每个文件夹创建一个新的子域,就像上面的例子一样。
问题是我在每个项目上使用一些框架,所以我必须将/app1
映射到/app1/public
和/app2
映射到app2/public
。
NGINX接受server_name
和labs.mydomain.com/app1
一样吗?
这样做可能吗?如果不是,最好的选择是什么?
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;
}