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. Источник