Страница 1 из 1

Помогите победить File not found. от Nginx

Добавлено: Вт сен 19, 2023 7:28 am
username78
Если кто-то поможет с финальными настройками сервера – будет здорово. Можно в личку.

Проблема 1.
При доступе к несуществующей странице с адресом site.com/page.php получаю "File not found." от Nginx. Если запросить такую же несуществующую страницу но уже в подпапке (site.com/d/page.php), то всё пучком и отрабатывается скрипт /404.php, прописанный в .htaccess сайта.

Как починить, чтобы и корневые несуществующие страницы вызывали /404.php?

Re: Помогите победить File not found. от Nginx

Добавлено: Пн окт 02, 2023 8:27 am
alenka
8002/index.php?do=apacserver&module=error_pages

Re: Помогите победить File not found. от Nginx

Добавлено: Вт окт 03, 2023 10:10 am
username78
похоже, что не то.

то есть, вероятно и оно, но для всей кучи сайтов подгружать файло мне лично неудобно и неочевидно, если вдруг (когда) содержимое 404.php поменяется.

вопрос в том, отчего не отрабатывается 404.php исключительно для несуществующих .php файлов в корне сайта? если это не .php в корне или .php не в корне (в папке), то всё пучком. это ж не нормально и хотелось бы починить.

при этом смутные воспоминания, что изначально всё было, как надо. а вот когда поломалось затрудняюсь сказать, заметил случайно. :?

вроде как проблема связана с php-fpm и лечить предлагают фиксом

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

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
но в конфиге раздел location ~ \.php$ {...} отсутствует, а его добавление в конфиг тестового сайта вызывает уже 502 от самого Nginx...

Re: Помогите победить File not found. от Nginx

Добавлено: Ср окт 04, 2023 8:02 am
sbury
У вас какая Web связка установлена?
И какая ОС?

Re: Помогите победить File not found. от Nginx

Добавлено: Чт окт 05, 2023 7:45 pm
username78
Да вроде дефолт:

Текущая комплектация: apache2.4 nginx php5.6 php8.0

Крутится на CentOS 7

Re: Помогите победить File not found. от Nginx

Добавлено: Пт окт 06, 2023 6:40 am
sbury
У вас установлена веб связка apache и nginx.
При таклй конфигурации nginx работает как прокси. Вам надо у апачи создаь файл ./htaccess и прписать в нем

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

Options +FollowSymLinks +ExecCGI

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ er/404.php?file=$0 [QSA,L]
Это направит все не существующие URL на ваш скрипт er/404.php А он уже будет отдан nginx

Re: Помогите победить File not found. от Nginx

Добавлено: Пн окт 09, 2023 7:16 am
username78
sbury писал(а):
Пт окт 06, 2023 6:40 am
Это направит все не существующие URL на ваш скрипт er/404.php А он уже будет отдан nginx
Да, так работает. спасибо.
Но всё равно до конца не ясно, отчего оно без вставки так избирательно не работает именно только для php и только для php в корне сайта...

Re: Помогите победить File not found. от Nginx

Добавлено: Вт окт 10, 2023 9:11 am
username78
sbury писал(а):
Пт окт 06, 2023 6:40 am
У вас установлена веб связка apache и nginx.
И вся эта история как-то связана с Jail, насколько я понимаю. Если учётка в Jail PHP, то этот рецепт работает. Если учётку вывожу из Jail PHP, то оно во всех случаях выбивает "File not found." от php. То есть и для php в корне, и для подпапок, и для неPHP файлов... :?