没有if语句的nginx无扩展php url

时间:2013-04-09 01:01:57

标签: php nginx fastcgi

我使用此配置:

root /www/mysite/static
location / {
    try_files $uri @php;
}
location @php {
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /www/mysite/controller$fastcgi_script_name.php;
}

这将首先检查/ www / mysite / static是否包含该文件。如果找不到该文件,那么它将在“file.php”上运行fastcgi。

现在,如果我访问www.mysite.com/asdf,它将尝试使用/www/mysite/controller/asdf.php运行fastcgi,这不存在。

我读到如果陈述是邪恶的,那么我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

终于明白了:

location /info {
    root /usr/share/nginx/www;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/www/info.php;
}

现在实际上是有道理的,因为我很难阅读文档...