Назад | Перейти на главную страницу

Nginx: обслуживать файлы PHP только из определенного места

У меня есть приложение AngularJS в /home/app/front и бэкэнд PHP в /home/app/back. Теперь я хотел бы обслуживать статические файлы из / и PHP из /api/v1/

Я безуспешно пробовал следующую конфигурацию. Nginx выдает следующее сообщение об ошибке: FastCGI sent in stderr: "Primary script unknown"

server {
    listen 80;

    server_name localhost;

    location / {
        root /usr/share/nginx/html/wpplugins/frontend;
        try_files $uri $uri/ /index.html;
    }

    location ^~ /api/v1/ {
        root /usr/share/nginx/html/wpplugins/backend;
        try_files $uri $uri/ /index.php?_url=$request_uri;
    }

    location ~ \.php {
        fastcgi_index /index.php;
        fastcgi_pass unix:/var/run/php5-fpm.sock;

        include /etc/nginx/fastcgi_params;

        fastcgi_split_path_info       ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}