Проблемка с 404


mff
1048

Здравствуйте уважаемые коллеги!

Ни так давно заметил, что Яндекс стал хавать непонятные странички на моем сайте:

http://site.ru/channel_eng.php/www.tv2.tomsk.ru/tv2/tv-programm/channel_eng.php?ch=1579

Так как у меня не бывает страничек, где после расширения стоит слэш, я прописал код:

if(strpos($_SERVER['REQUEST_URI'], '.php/')) {

header("HTTP/1.0 404 Not Found");
include("404.php");
die;
}

При заходе на такую страничку сайт правильно реагирует и отправляет на 404.php Но Яндекс всё равно продолжает их индексировать (скрин во вложении). А те которые не хавает, подписывает, что «Недостаточно качественная», а не то, что там 404 ответ. Подскажите, как быть? В чем может быть дело?

За ранее спасибо, Александр.



png

666.png


mff

Добавлю скрин кода, так как форум вставил какие то звезды:

Проблемка с 404


hubbiton

mff:
правильно реагирует и отправляет на 404.php

Это скорее всего отдаёт код 301 или 200, проверьте! А роботам для прекращения индексации надо 404 или 410.


mff

hubbiton:
Это скорее всего отдаёт код 301 или 200, проверьте! А роботам для прекращения индексации надо 404 или 410.

Скажите пожалуйста, как это проверить? С ув.


hubbiton

https://checkmy.ru/


mff

hubbiton:
https://checkmy.ru/

Чекнул, вот что выдал сервис:

Проблемка с 404


hubbiton

Тады не знаю, должен удалить со временем…


olegon

Во-первых, аналогичные штуки настраиваются не в коде, а в конфиге веб-сервера.

Во-вторых, почитайте про canonical.

В-третьих, сделайте сами curl -I , либо попробуйте https://olegon.ru/page/ он притворяется ботом (правда, гугловым).

В-четвертых, рекомендую проверить на сайте заражение вирусом или наличие открытого редиректа (когда при переходе на определенный URI вашего сайта сразу перекидывает на какой-то другой сайт).


mff

olegon:
Во-первых, аналогичные штуки настраиваются не в коде, а в конфиге веб-сервера.

Опа! Сейчас обнаружил, что после недавнего падения сервера у хостинг-провайдера — нет файла .htaccess в корне сайта 🙅

olegon:
Во-вторых, почитайте про canonical.

Читал, и кое где его использую. Но в данном случае считаю что такие УРЛ должны четко отправлять 404, так как эти вереницы непонятных папок и файлов берутся непонятно откуда.

olegon:
В-третьих, сделайте сами curl -I , либо попробуйте https://olegon.ru/page/ он притворяется ботом (правда, гугловым).

Спасибо! Полез курить!

olegon:

В-четвертых, рекомендую проверить на сайте заражение вирусом или наличие открытого редиректа (когда при переходе на определенный URI вашего сайта сразу перекидывает на какой-то другой сайт).

В этом плане всё чисто! Сайт написан мной и я знаю каждый кусочек кода на нем. С ув.


miketomlin

Это походу PATH_INFO для множественных точек входа. Т.е. вы просто поместили php-файлы в корень.

Чтобы запретить запуск файлов с такими путями, можно использовать директиву AcceptPathInfo Off. Но лучше использовать современные подходы к сайтостроению, а именно единую точку входа, потому что у множественных есть и масса др. проблем с дублями, например к именам файлов можно спокойно добавлять строку параметров.


ivan-lev

mff:
Опа! Сейчас обнаружил, что после недавнего падения сервера у хостинг-провайдера — нет файла .htaccess в корне сайта

Аккуратнее. Он иногда не отображается по умолчанию в ftp-клиенте..

mff:
Но Яндекс всё равно продолжает их индексировать (скрин во вложении).

Робот видит «кривую» ссылку и переходит по ней.. При этом результат похода робота можно наблюдать в вебмастере.

Возможно, помимо 404, имеет смысл разобраться с причиной появления такого рода ссылок (относительные вместо абсолютных, видимо)..

В зависимости от настроек сервера, по URL (даже при отсутствии .htaccess)

http://site.ru/channel_eng.php/www.tv2.tomsk.ru/tv2/tv-programm/channel_eng.php?ch=1579

может быть выведен как channel_eng.php из корня, или «точка входа» (на которую все несуществующие адреса перенаправляются), так и страница 404 ошибки (по умолчанию, или «своя» из корня вроде 404.php 404.html)

Естественно, используя директивы .htaccess, можно все эти настройки переопределить.. =)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *