Страница 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 файлов...