NGINX配置:根目录中的Angular SPA和子文件夹中的Slim REST API

时间:2015-08-23 01:21:02

标签: angularjs nginx slim

我无法让它发挥作用!

location ~ ^/(api) {
    #api requests
    include /etc/nginx/mime.types;
    index index.php;
    try_files $request_uri $request_uri/ /index.php?$query_string;
} 
location / {
    #angular app
    try_files $uri /index.html?$query_string;
}

我可以加载基本api路径,即https://test.com/api,并按预期返回404 json响应,因为访问api的根目录是非法的。

然而,尝试在api中运行任何路由,例如https://test.com/api/v1/authenticate,并最终传递到第二个位置块中的前端应用程序!

1 个答案:

答案 0 :(得分:0)

好吧,经过一些实验,我确定在子目录中使用api会导致问题。我将api的index.php/api/index.php移到根文件夹(/)并将其重命名为api.php

然后通过将我的苗条应用组从/v1更改为/api/v1,以下nginx配置现在可以正常运行:

location ~ ^/api {
    try_files $request_uri $request_uri/ /api.php?$query_string;
}

location / {
    include /etc/nginx/mime.types;
    try_files $uri /index.html?$query_string;
}