Сервер выдаёт код 200 по ошибке 404
Страницы: 1
[ Закрыто ] Сервер выдаёт код 200 по ошибке 404
Сайт чата у меня давно, но СЕО продвижением я занялся совсем недавно.
Могу сразу похвастаться, что в результате этого за месяц у меня снизился %% отказов с 85 до 10 и Alexa повысила значение почти на 4000000.
Но это так. Похвастался. К делу не касается.

Теперь по теме.
Анализ сайта постоянно выдаёт, что получен ответ 200 от страницы 404.
Почему так? Что я неправильно делаю?
Перелопатил кучу информации - но везде только общие расплывчатые рекомендации - но ничего конкретного.
И в итоге в выдаче у меня находится много отсутствующих страниц.

Что у меня сделано.
По рекомендациям, сделаны собственные страницы сайта для ошибок 404 и 403.
Логически, я так понимаю, если у меня сервер отдаёт страницу, вместо ошибки - то и должен быть ответ 200.
Но в тех же рекомендациях пишут одновременно - сделать собственные страницы ошибок и настроить ответ сервера.
Значит, при наличии собственной страницы ошибки - всё-таки ответ сервера не должен быть 200?
А вот конкретного совета, как настроить - нигде не нашёл.

Подскажите, пожалуйста, что конкретно и где прописать, чтобы сервер выдавал правильный ответ?
В .htaccess, или ещё куда? Или это неправильные настройки на самом сервере и нужно писать админам сервера?

И походу ещё вопросы.
Страницы ошибок у меня 403.html и 404.html. Всё работало.
Но в один момент перестала отображаться моя страница 404.html. Вместо неё была страница ошибки от сервера.
После смены расширения на 404.php и изменения в .htaccess - всё заработало.
Страница 403.html, при соответствующей ошибке, отображается без проблем.
Почему так стало?

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

P.S.
Сильно не пинайте, если задал глупые вопросы. Пока только пытаюсь вникнуть в тему.
Мой чат: http://mychatik.ru
На своих сайта я использую php для определения заголовка ответа сервера.
Код
header("HTTP/1.0 404 Not Found");
На каком движке работает ваш сайт?
Чтобы сервер отдал 404, его нужно об этом попросить, либо настроить так, чтобы он сам понимал, когда требуется соответствующий ответ.
Цитата
mychatik пишет:
И в итоге в выдаче у меня находится много отсутствующих страниц.
У вас стоит плагин i theme securiti ?
Цитата
mychatik пишет:
А вот конкретного совета, как настроить - нигде не нашёл.


Что бы помочь вам нужно сначала узнать на каком движке работает ваш сайт.
А так же что на данный момент прописано в файлах .htacess и 404.php
какая у вас cms?
Цитата
MrLexKo пишет:
Что бы помочь вам нужно сначала узнать на каком движке работает ваш сайт.
Цитата
Олег Карпов пишет:
На каком движке работает ваш сайт?
Цитата
Эдуард Пащенко пишет:
какая у вас cms?
Сам чат на движке VOC++, а форум phpBB.

Цитата
WGN пишет:
У вас стоит плагин i theme securiti ?
Нет. У меня не WordPress.

Цитата
MrLexKo пишет:
А так же что на данный момент прописано в файлах .htacess и 404.php
Вот мой корневой .htacess
Код
<Files inc_common.php>
  deny from all 
</Files>
AddDefaultCharset Windows-1251
php_flag display_errors off
php_flag engine off
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^users/([0-9]*)$ /fullinfo.php?user_id=$1 [L]
RewriteRule ^users/(.*)$ /profiler_rewrite.php?user_to_search=$1 [L]
RewriteCond %{HTTP_HOST} ^www.mychatik\.ru$ [NC]
RewriteRule ^(.*)$ mychatik.ru/$1 [R=301,L]
RewriteRule ^403$ "" [F]
ErrorDocument 404 mychatik.ru/404.php
ErrorDocument 403 mychatik.ru/403.html
 
Страница 404.php - там много кода выкладывать. Обычная информационная. Если нужно - можно по ссылке из вышеприведённого кода посмотреть.

Проверка отсутствующей страницы (например здесь https://bertal.ru) выдаёт:
Цитата
HTTP/1.1 302 Found
Server: nginx
Date: Wed, 22 Feb 2017 04:08:54 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: mychatik.ru/404.php

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 22 Feb 2017 04:08:54 GMT
Content-Type: text/html; charset=Windows-1251
Connection: keep-alive
Цитата
Олег Карпов пишет:
На своих сайта я использую php для определения заголовка ответа сервера.
Код
 header("HTTP/1.0 404 Not Found"); 
Попробовал так сделать.
Добавил строку
Код
 <?php header("HTTP/1.1 404 Not Found"); ?>
на форум в /forum/styles/мой_дизайн/template/overall_header.html перед
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Сделано всё по рекомендациям, что функция header() должна идти первой в выводе и перед её вызовом не должно быть никаких HTML тэгов, пустых строк и т.п. Обновил дизайн.

Ещё нашёл вариант, как пишут "на все случаи жизни":
Код
<?php
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
die();
 ?>
Результата нет. Ответ сервера 200 OK. Страница 404.php выводится.

Цитата
Олег Карпов пишет:
Чтобы сервер отдал 404, его нужно об этом попросить, либо настроить так, чтобы он сам понимал, когда требуется соответствующий ответ.
Вот этого я и хочу добиться. Мозги уже кипят...
Изменено: mychatik - 22 Февраля 2017 19:23 (Уточнение информации)
Сейчас проверил - оказывается и ошибка 403 отдаёт 200 OK с правильным редиректом на свою страницу ошибки.
Хоть это не так критично, но всё же...

Цитата
HTTP/1.1 302 Found
Server: nginx
Date: Wed, 22 Feb 2017 18:56:51 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: mychatik.ru/403.html

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 22 Feb 2017 18:56:51 GMT
Content-Type: text/html; charset=Windows-1251
Content-Length: 4633
Connection: keep-alive
Last-Modified: Thu, 18 Sep 2014 01:30:11 GMT
ETag: "1219-5034cecee6ec0"
Accept-Ranges: bytes
Читаю сайт www.htaccess.net.ru/doc/ErrorDocument/ErrorDocument2.php
Там приведены примеры. У них всё работает идеально.
И своя страница ошибки открывается, и сервер отдаёт ошибку правильно, и даже без 302 Found.

Как же у них там сделано???
Изменено: mychatik - 22 Февраля 2017 22:05
Всё. Проблема решена. Тему можно закрывать.

Вся проблема оказалась в .htacess, в виде самой ссылки на страницу ошибки.

Я делал по рекомендации htmlbook.ru/faq/kak-sdelat-stranitsu-s-oshibkoy-404

Цитата
Учтите, что файл err404.html может быть вызван из любого места сайта, поэтому в нем следует использовать абсолютные ссылки (h_t_t_p://site.ru/images/error.png) или ссылки относительно корня сайта (/images/error.png).

Но абсолютная ссылка вида

Код
ErrorDocument 404 h_t_t_p://mychatik.ru/404.php

выводит код ответа 302 Found и, соответственно, 200 OK.

Нужно применять ИСКЛЮЧИТЕЛЬНО относительную ссылку:

Код
ErrorDocument 404 /404.php

Спасибо всем откликнувшимся.
Изменено: mychatik - 22 Февраля 2017 22:43 (Замена автоматически удаляемых http:// на h_t_t_p://)
Цитата
mychatik пишет:
Проблема решена. Тему можно закрывать.

mychatik, спасибо за сообщение в теме
закрыл

пожалуйста, если Ваша тема потеряла свою актуальность, отпишите об этом в теме и скиньте ссылку на тему мне в ЛС.
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
14:13 Profit Pixels - In-House Форекс, Крипто, Трейдинг CPA Офферы | Еженедельные Выплаты | CPA до $950 
10:09 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
21:07 Взрывной рост роботности в Метрике 
18:33 Trafee.com – эффективная монетизация вашего дейтинг трафика 
15:41 Adtrafico - Правильная партнёрская сеть под бурж трафик 
22:12 Stixi.ru. и stixi.com 
20:30 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
05:08 [WORDPRESS] [Gemini|GPT]️ ClipAI - Копирайтинг больше не нужен! Подключит ИИ к интернету и напишет статьи с автоматической публикацией на сайт. 
00:25 Уникальный сервис SEO продвижения 
14:51 Мощные прокси для вашего бизнеса! 
12:17 Продам дешёвые домены (1$/штука) 
10:58 BIGPROXY.SHOP - Резидентные Ротационные Backconnect Proxy USA EUROPA MIX [Безлимитный трафик] 
10:17 Размещу ссылки/статьи на ваш сайт | Рост ИКС | XRumer 23.0.4 StrongAI 
22:12 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
22:00 Точные прогнозы на футбол 
20:09 Сколько сейчас стоит наполнение ИМ? 
12:43 Куплю проигрышные букмекерские аккаунты 
04:33 Половина скидок на распродажах — фейк 
07:53 НейроБабушка наказывает мошенников 
19:59 Осталось 3-5 месяцев до блокировки YouTube в России, — заявил Клименко 
19:57 Пятница 13-ое: VK принял радикальное решение и закрыл доступ к порно контенту