Nginx с php в одном подкаталоге

У меня есть сайт в чистом 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? Я пробовал разные комбинации, но ни одна не работает. Любая помощь будет оценена!

1 ответ

Решение

Вполне вероятно, что ваш fastcgi_param должно быть /www$fastcgi_script_name потому что переменная является полным запросом URI. Источник

Другие вопросы по тегам