try_files на index.php не отрабатывает в NGINX+PHP-fpm для не существующих php файлов

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
Ответить
Spam17
Сообщения: 2
Зарегистрирован: Пт май 15, 2020 10:42 am

try_files на index.php не отрабатывает в NGINX+PHP-fpm для не существующих php файлов

Сообщение Spam17 » Чт янв 14, 2021 12:04 pm

Установлен с нуля CentOS 7 с BrainyCP версии 1.0829.

При стандартных настройках NGINX + PHP-fpm 7.4 (другие версии также себя ведут).
Запрос, на файл с расширением php - возвращает 404-ю страницу nginx.
Хотя при этом, для не существующих файлов других расширений,
направление на index.php отрабатывает корректно и отображается страница 404 от CMS.

Примеры запросов: Настройками через панель - рабочей версии так и не смог получить.
Кто-то знает как корректнее настроить именно с админки, и сохранив совместимость к обновлениям?

Пока временным, рабочим, решением (которое слетит при обновлении, как понимаю)
скорректировал системный файл панели:

В файле /etc/brainy/conf/vhosts/vhosts.tpl

Оригинальная версия:

Код: Выделить всё

        {if $bridge_nginx == 'fpm' and $back_server != 'apache2.2' and $back_server != 'apache2.4'}
            location ~ \.php$ {
            try_files $fastcgi_script_name =404;
            root                       {$dir};
Скорректированная версия:

Код: Выделить всё

        {if $bridge_nginx == 'fpm' and $back_server != 'apache2.2' and $back_server != 'apache2.4'}
            location ~ \.php$ {
            if (!-e $request_filename) {
              rewrite ^/(.*)$ /index.php last;
            }
            root                       {$dir};
После корректировок, пересобрал через кнопку "Пересобрать виртуальные хосты".
В такой версии, все не существующие файлы, проксируются через index.php

Ответить