1

我有一个纯 HTML 的网站。现在我必须添加一个包含 PHP 文件的子目录(演示)。我在 nginx.conf 文件中设置了两个位置:

server {
    listen          80;
    server_name     mydomain.com;

    access_log      /mydomain.com/access.log;

    location / {
        root        /www;
        index       index.html index.htm;
    }

    location /demo {
        root        /www/demo;
        index       /demo/index.php;
    }                                                                                                                                                                                                       

    location ~ /demo/.*\.php$ {
        root        /www/demo;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;                                                                                                                                                                                                          
        fastcgi_param  SCRIPT_FILENAME  /www/demo$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\.ht {
        deny         all;
    }
}

现在 mydomain.com 工作得很好,但是当我尝试访问 mydomain.com/demo/ 时,它一直在抱怨

No input file specified.

这个脚本有什么问题?我猜某些路径设置不正确,例如 fastcgi_index:应该是 /demo/index.php 吗?我尝试了不同的组合,但没有一个有效。任何帮助,将不胜感激!

4

1 回答 1

2

您可能fastcgi_param应该是/www$fastcgi_script_name,因为该变量是完整的 URI 请求。来源

于 2012-08-16T15:14:30.193 回答