На несуществующих страницах сервер частично отдает ответ 200, а частично 404

F
На сайте с 02.12.2015
Offline
52
381

Здравствуйте!

На некоторых несуществующих страницах отдается ответ 200, а на некоторых 404. Никак не могу понять в чем дело...

Вот, например, страница пагинации https://derevo-kazok.org/ukrayinski-narodni-kazki/next/99 Такой страницы на сайте нет, но сервер отдает ответ 200, типа страница существует.

А вот тоже страница, которой нет: https://derevo-kazok.org/46536.html Отдает ответ 404

А вот к странице, которая существует, просто добавил в конце УРЛа цифру 3: https://derevo-kazok.org/coloring-for-fairy-tales3/ Загружается заставка ошибки 404, но код статуса HTTP все равно 200, хотя этой страницы тоже нет...

Вот код 404 страницы, вроде все нормально:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');


/**
* MaxSite CMS
* (c) http://max-3000.com/
*/


if ( mso_get_option('page_404_http_not_found', 'templates', 1) ) header('HTTP/1.0 404 Not Found');

if ($fn = mso_find_ts_file('main/main-start.php')) require($fn);

echo NR . '<div class="mso-type-page_404">' . NR;

if ($f = mso_page_foreach('page_404'))
{
require($f); // подключаем кастомный вывод
}
else // стандартный вывод
{
if ($fn = mso_find_ts_file('type/page_404/units/page_404.php')) require($fn);
}
echo NR . '</div><!-- class="mso-type-page_404" -->' . NR;
if ($fn = mso_find_ts_file('main/main-end.php')) require($fn);
# end file

Подскажите, пожалуйста, может кто знает причину.

http://derevo-kazok.org/ - сказки для всей семьи! https://discover.in.ua - познавательный интернет-журнал!
S
На сайте с 30.09.2016
Offline
469
#1
Fantazerwm:
Подскажите, пожалуйста, может кто знает причину.

Может быть, кто-то и знает. По крайней мере, тот, кто сочинял код движка.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Gerga
На сайте с 02.08.2015
Offline
94
#2
Fantazerwm:
На некоторых несуществующих страницах отдается ответ 200, а на некоторых 404.
Fantazerwm:
if*(*mso_get_option('page_404_http_not_found',*'templates',*1)*)*header('HTTP/1.0*404*Not*Found');

Покажите код функции mso_get_option().

И посмотрите в логах или включите отображение ошибок, можете только для своего IP, чтобы проверить на наличие ошибки:

Warning: Cannot modify header information - headers already sent by
L
На сайте с 25.08.2008
Offline
97
#3

1. Удалить все функции из 404 страницы и сделать ее на хтмл простом.

2. Отключить в цмс управление 404 страницей если есть (если нет, то принудительно указать какую 404 отдавать через .htaccess)

3. Посмотреть что написано в .htaccess

Англоязычные и мультиязычные проекты, eMail marketing и списки - весь мир - Интернет маркетинг, е-коммерс и SEO => 18+ лет опыта https://theOmega.asia (https://web.theOmega.asia) / alex@theomega,asia
Gerga
На сайте с 02.08.2015
Offline
94
#4

lowtech, жесть... :)

там же не устанавливается заголовок, на это есть несколько причин:

1. функция mso_get_option возвращает false;

2. headers already sent.

А для определения необходимости 404 ошибки, нужна логика CMS.

Lazy Badger
На сайте с 14.06.2017
Offline
231
#5

1. Про Макссайт крайне полезно спрашивать не на стороннем форуме, а у автора. Тем более что он есть, вполне адекватен и оперативен

2. https://derevo-kazok.org/coloring-for-fairy-tales3/ отдает все же, как и положено, 404 статус

3. Для https://derevo-kazok.org/ukrayinski-narodni-kazki/next/99 я бы начал с ответа на вопрос "какой статус страницы отдает LiteSpeed и почему", потому что вижу "разночтения" - макссайт считает, что 404, LiteSpeed отдает 200, а с остальными 404 ответ не пустой, идет максова 404 страница

Ответ "https://derevo-kazok.org/ukrayinski-narodni-kazki/next/99" → Основной робот Яндекса
Код статуса HTTP 200 OK
Время ответа сервера 51 мс
IP сайта 31.131.19.110
Кодировка UTF-8(unicode-1-1-utf-8, UTF8)
Размер страницы 0 Б
...
Содержимое страницы отсутствует

4. Ну и обычный совет "обновитесь до последней версии МаксСайт, прежде чем дергать разработчика"

5. Можно спросить хостера "какого хрена 200", но это вряд ли поможет

Производство жести методом непрерывного отжига

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