Php Nginx没有';找不到Symfony2路线

Php Nginx没有';找不到Symfony2路线,php,symfony,nginx,routes,download,Php,Symfony,Nginx,Routes,Download,我尝试在虚拟机上运行一个简单的Symfony2应用程序。我在这个虚拟机上有Nginx(由PuPHPet和Vagrant生成),但有一个问题 当我尝试访问demo路径/demo(local.dev/Symfony/web/app_dev.php/demo)时,Nginx强制我下载一个文件。当我指定随机路由时,它的工作方式似乎与此相同。 我不知道如何解决这个问题,我花了2天时间搜索了Nginx的具体配置,但什么也没找到。以下是我的Symfony应用程序配置文件: server { serve

我尝试在虚拟机上运行一个简单的Symfony2应用程序。我在这个虚拟机上有Nginx(由PuPHPet和Vagrant生成),但有一个问题

当我尝试访问demo路径/demo(local.dev/Symfony/web/app_dev.php/demo)时,Nginx强制我下载一个文件。当我指定随机路由时,它的工作方式似乎与此相同。

我不知道如何解决这个问题,我花了2天时间搜索了Nginx的具体配置,但什么也没找到。以下是我的Symfony应用程序配置文件:

server {
    server_name test.dev;
    root /var/www/local.dev/Symfony/web;

    location / {
        try_files $uri /app.php$is_args$args;
    }

    location ~ ^/(app|app_dev|config)\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    error_log /var/log/nginx/sf-error.log;
    access_log /var/log/nginx/sf-access.log;
}

谢谢您的帮助。

您检查过php fpm是否在端口9000上运行吗?您的位置是否应该在(etc | etc).php之后允许更多?超过(/.$)?我试图用
^/(app | app|u dev | config)\.php(/.*.$)
更改正则表达式,但它没有改变任何东西。您所说的“检查了php fpm在端口9000上运行了吗?”是什么意思?php interpeter需要监听端口9000,以便nginx能够转发。我对nginx正则表达式的通用性不够,无法确保您的新正则表达式是正确的。请尝试以下方式:
location/{Try\u files$uri$uri//app.php?$args;}
对于您的php位置,请尝试以下模式:
location~\.php