Перейти к публикации

Перенаправление на страницу 404


Рекомендованные сообщения

Здравствуйте! Вообщем, задача проста: нужно сделать перенаправление для страниц "удаленных" статей типой этой: http://www.allcomedyclub.ru/2007/03/05/ua_...omedy_club.html на страничку 404. А то бот Яши долбится по этим ссылкам, надоел уже... Заранее благодарю за помощь!

Ссылка на сообщение
Поделиться на других сайтах

Это типа такой модуль?))) Мне нужен хак, просто 150 страниц нет желания по отдельности добавлять в .htaccess. А то яндекс залезает куда не нужно... Если я чего-то не догоняю, ибо будун), то, пожалуйста, объясните на пальцах, что нужно туда прописать в моем примере. По отдельности я умею редирект делать, но эти ссылки ростут с каждым днем...

Ссылка на сообщение
Поделиться на других сайтах

Dark, плохо ссылку смотрел.

ErrorDocument 404 /error404.html

в .htaccess

Изменено пользователем lifestar
Ссылка на сообщение
Поделиться на других сайтах

ErrorDocument 404 /error404.html

- это уже прописано в .htaccess. Тут проблема в том, что если создается новость, а потом она удаляется, нужно, чтобы при ссылке на нее выводилась страница 404, а не надпись: "Внимание, обнаружена ошибка: К сожалению, данная страница для Вас не доступна, возможно был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском."

Изменено пользователем Dark
Ссылка на сообщение
Поделиться на других сайтах

Dark,

зайдите на страницу http://webmaster.yandex.ru/ и попробуйте добавить адрес с несуществующей новостью. Скрипт отдает 404 ошибку для поисковиков самостоятельно.

Адрес http://www.allcomedyclub.ru/2007/03/05/ua_...omedy_club.html не был внесен в базу Яндекса, так как он не существует (сервер возвращает ошибку 404).

И если с поисковика приходят пользователи на эту страницу, то значит еще не переиндексировался ваш сайт, это дело времени

Ссылка на сообщение
Поделиться на других сайтах

По-идеи так и должно быть, но в Яндекс.Вебмастер эти ошибки увеличиваются геометрической прогрессией и никуда не исчезают с новыми апами. Вот скриншот:

1199276013_untitled1.gif

Ссылка на сообщение
Поделиться на других сайтах

Нет, эти страницы не содержат никакой информации и должны просто отдавать ошибку 404 или такого рода страницы (коих 269 по Яндекс.Вебмастер) должны перенаправлять на специально созданную страничку 404.

Ссылка на сообщение
Поделиться на других сайтах

Dark, они итак отдают 404.

должны перенаправлять на специально созданную страничку 404.
а ты это сделал чтобы они перенаправлялись?
Ссылка на сообщение
Поделиться на других сайтах

Нет, не сделал, я хочу, чтобы такого рода страницы автоматически перенаправлялись на страницу 404 или это невозможно и нужно в .htaccess каждую страницу по отдельности прописывать?

P.S. Если они отдают ошибку 404, то почему в панели Яндекс.Вебмастер столько ошибок и их количество растет?

Изменено пользователем Dark
Ссылка на сообщение
Поделиться на других сайтах

я хочу, чтобы такого рода страницы автоматически перенаправлялись на страницу 404
а где она, страница 404?

почему в панели Яндекс.Вебмастер столько ошибок и их количество растет?
я же спрашивал - это реальные страницы или старые? у тебя была страница - яндекс увидел. страница пропала - для яндекса это уже ошибка
Ссылка на сообщение
Поделиться на других сайтах

а где она, страница 404?

Вот например: тырц

я же спрашивал - это реальные страницы или старые?

Страницы конечно же старые...

Ссылка на сообщение
Поделиться на других сайтах

Dark, ну поменяй

elseif (!$news_found) { @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_12']); }
на
elseif (!$news_found) { @header("HTTP/1.0 404 Not Found"); header('Location: http://www.allcomedyclub.ru/blabla'); }

Ссылка на сообщение
Поделиться на других сайтах

на

Код

elseif (!$news_found) { @header("HTTP/1.0 404 Not Found"); header('Location: http://www.allcomedyclub.ru/blabla'); }

Это отслать ошибку 404 и перейти на http://www.allcomedyclub.ru/blabla - бессмысленно...

http://forum.dle-news.ru/index.php?showtop...1&st=0&

Открываешь show.short.php

Находишь:

elseif (!$news_found AND !$allow_userinfo AND $do != '' AND $do != 'favorites') { @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }

elseif (!$news_found AND $catalog != "") { @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }
Заменяешь на:
elseif (!$news_found AND !$allow_userinfo AND $do != '' AND $do != 'favorites') { msgbox ($lang['all_err_1'], $lang['news_err_27']); }

elseif (!$news_found AND $catalog != "") { msgbox ($lang['all_err_1'], $lang['news_err_27']); }
Этот код уберет ошибку 404. Для перехода надо это:
elseif (!$news_found AND !$allow_userinfo AND $do != '' AND $do != 'favorites') { @header("Location: http://путь"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }

elseif (!$news_found AND $catalog != "") { @header("Location: http://путь"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }

Без @header("HTTP/1.0 404 Not Found");

Ссылка на сообщение
Поделиться на других сайтах

Это отслать ошибку 404 и перейти на http://www.allcomedyclub.ru/blabla - бессмысленно...
согласен, спал одним глазом.

Но и вариант

@header("Location: http://путь"); msgbox ($lang['all_err_1'], $lang['news_err_27']);
не менее бессмысленный :)

Dark, короче делай просто

@header('Location: http://www.allcomedyclub.ru/blabla');

а на странице http://www.allcomedyclub.ru/blabla уже отдавай 404-ю и мессагу

Ссылка на сообщение
Поделиться на других сайтах

Я так понял мне в show.short.php заменить это:

elseif (!$news_found AND !$allow_userinfo AND $do != '' AND $do != 'favorites') { @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }

elseif (!$news_found AND $do == 'favorites') msgbox ($lang['all_info'], $lang['fav_notfound']);

на

elseif (!$news_found AND !$allow_userinfo AND $do != '' AND $do != 'favorites') { @header("Location: http://www.allcomedyclub.ru/error404.html"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }

elseif (!$news_found AND $catalog != "") { @header("Location: http://www.allcomedyclub.ru/error404.html"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }

У меня просто этой строчки нет, двиг 5.7:

elseif (!$news_found AND $catalog != "") { @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_27']); }
Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

как сделать чтобы выдавалась своя ошибка, если скажем набрать http://сайт/preved.php или http://сайт/12345

c

RewriteEngine On выдает

Внимание, обнаружена ошибка

К сожалению, данная страница для Вас не доступна: возможно, был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском.

если отрубить

RewriteEngine Off непашет чпу..

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...