Phalcon и Nginx — скачивайте php файл вместо запуска на первом уровне

У меня проблема с конфигурацией Nginx и Phalcon.

Это мой серверный блок:

server {
listen      80;
server_name testapp.dev;
root        /srv/http/testapp/public;
index       index.php index.html index.htm;
charset     utf-8;

location / {
try_files $uri/ /index.php?_url=$uri&$args;
}

location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;

include fastcgi_params;
fastcgi_param PATH_INFO       $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

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

Это с сайта Phalcon: https://olddocs.phalconphp.com/en/3.0.0/reference/nginx.html

Все в порядке, пока я не ввожу адрес браузера таким образом (когда есть модуль «Тест»): testapp.dev/test, Но это работает, когда я прохожу testapp.dev/test/ или же testapp.dev/test/part или же testapp/test/part/,

Интересно, что если я введу имя несуществующего модуля, например: testapp.dev/test2, он выполняет индексный файл и показывает ошибку, что путь определения модуля не существует.

Подведем итог выше:

  • testapp.dev/test — не работает
  • testapp.dev/test/ — за работой
  • testapp.dev/test/part — за работой
  • testapp.dev/test/part/ — за работой
  • testapp.dev/test2 — модуль не существует, но индекс выполняется, поэтому он работает
  • testapp.dev/test2/ — как выше …

Когда я вхожу в: testapp.dev/index.php?url_=/test работает.

Первая мысль — я должен попытаться добавить / в конце try_files директива, но когда я ее вставляю, она тоже не работает.

Я пробовал также это:
Phalcon и nginx — фреймворк запускается только indexController. Это как выше …

Также я пытался добавить косую черту следующим образом: https://serverfault.com/questions/645667/php-file-downloaded-instead-of-executed-with-nginx-try-files, но безуспешно

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]