Алексей Теплов

Алексей Теплов
Рейтинг
59
Регистрация
30.12.2019
estic #:
Лучше бы разобрались, зачем изначально выставляли ON 😉

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

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

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

fastcgi_intercept_errors off;

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

Спасибо!

удалил...
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-    }


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

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


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

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

https://hd2k.ru/404.php

Да я знаю, просто забыл тогда поставить команду...

Непонятное происходит с моей страницей 404. В локалке под Апачем проходит

include($_SERVER['DOCUMENT_ROOT']."/404.php");
 А на сервере тоже проходит, но после модификации хедера в первой строчке получается по сути редирек на 404.html! Вот я и думаю что надо ставить exit... 

Ну вообщем сайт работает на PHP 8 почему то через некоторое время начинает подвисать, приходится перезапускать PHP 8... Перевёл сайт даже на PHP 7, вроде работает. У меня как то была проблема на одном сайте, забыл поставить команду exit; после редиректа через хедер и вот тут похожая проблема.

Хотя конечно возможно проблема и не в 404...

Вот я и спрашиваю, как правильно выдать 404 ошибку? 

location @php {
                include /etc/nginx/vhosts-resources/hd2k.ru/dynamic/*.conf;
                fastcgi_index index.php;
                fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@hd2k.ru";
                fastcgi_pass unix:/var/www/php-fpm/16.sock;
                fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
                try_files $uri =404;
                include fastcgi_params;
        }

LEOnidUKG #:
Конфиг бы nginx показали, было бы понятнее.

В конфиге NginX прописал вот так:

 error_page 404 /404.html;
        location = /404.html {
        root /var/www/site.ru/data/www/hd2k.ru;
        internal;
    }
Всего: 97