NginX и своя страница ошибки 404

12
Алексей Теплов
На сайте с 30.12.2019
Online
52
#11

Вот даже если открывать напрямую 404.php запускается именно 404.html хотя в адресной строке стоит 404.php!

https://hd2k.ru/404.php

Алексей Теплов
На сайте с 30.12.2019
Online
52
#12

Заменил в файле 404.php как советовал уважаемый master32 стоку 

header($_SERVER['SERVER_PROTOCOL']." 404 Not Found");
на
http_response_code(404);


Всё равно редиректит на 404.html...

master32
На сайте с 09.02.2022
Offline
134
#13
Алексей Теплов #:

Заменил в файле 404.php как советовал уважаемый master32 стоку 


Всё равно редиректит на 404.html...

а что конфиг показывает:
sudo nginx -T 2>&1 | grep -nC 4 -E 'fastcgi_intercept_errors|error_page'

Алексей Теплов
На сайте с 30.12.2019
Online
52
#14
36-    proxy_connect_timeout 600;
37-    proxy_send_timeout 600;
38-    proxy_read_timeout 600;
39-    send_timeout 600;
40:    fastcgi_intercept_errors on;
41-
42-
43-    #gzip  on;
44-

453-        rewrite ^/dzen/(.*)$ /save/dzen.php?id=$1 last;
454-        rewrite ^/sitemap/sitemap.xml$ /sitemap/sitemap.php last;
455-    rewrite ^/sitemap/([0-9]+)/video.xml$ /sitemap/video.php?page=$1 last;
456-
457:    error_page 404 /404.html;
458-        location = /404.html {
459-        root /var/www/site.ru/data/www/hd2k.ru;
460-        internal;
461-    }


master32
На сайте с 09.02.2022
Offline
134
#15
Алексей Теплов #:
fastcgi_intercept_errors on;
попробуй изменить на (но наверно не стоит, если есть другие сайты на сервере)
fastcgi_intercept_errors off;

или добавить в секцию php:

location @php {
    fastcgi_intercept_errors off;
...

проверить и перегрузить конфиг

sudo nginx -t && sudo systemctl reload nginx


Алексей Теплов
На сайте с 30.12.2019
Online
52
#16
удалил...
Алексей Теплов
На сайте с 30.12.2019
Online
52
#17

master32 большое спасибо! Выставил 

fastcgi_intercept_errors off;

Теперь всё работает как я и планировал! Когда надо инклайдиться именно 404.php без редиректа на 404.html!

Спасибо!

E
На сайте с 01.10.2017
Offline
140
#18

Алексей Теплов #:
Выставил [OFF]

Лучше бы разобрались, зачем изначально выставляли ON 😉
Домены на продажу: https://p20.ru/collection/domains-for-sale
LEOnidUKG
На сайте с 25.11.2006
Offline
1785
#19
Алексей Теплов #:
fastcgi_intercept_errors

так можно просто удалить.

https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_intercept_errors

Он по умолчанию OFF. Возможно что-то тестировал как раз с ошибками и забыли удалить.

Module ngx_http_fastcgi_module
  • nginx.org
The module allows passing requests to a FastCGI server. Example Configuration Directives Defines conditions under which access to a FastCGI server is allowed or denied. If all string parameters are not empty and not equal to “0” then the access is allowed. The conditions are evaluated each time before a connection to a FastCGI server is...
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
Алексей Теплов
На сайте с 30.12.2019
Online
52
#20
estic #:
Лучше бы разобрались, зачем изначально выставляли ON 😉

Если честно, то я понятия не имею что это такое... Сервер у меня старинный, ему 7 лет уже, за это время на нём побывали десятки сайтов, а админ из меня ещё хуже чем програмер... На сервере есть сайты только под PHP 4 и 5... Раньше мне один знакомый помогал с сервером.

Ну всё равно, всем спасибо! Главное сайт работает как и задумывалось!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий