Добрый день, коллеги. Подскажите, как сделать, чтобы при попадании пользователя на страницу 404 его автоматически перекидывало на главную страницу блога??? Или через .htaccess как-то или по другому. Как это сделать???
Проблема с 404

Добрый день, коллеги. Подскажите, как сделать, чтобы при попадании пользователя на страницу 404 его автоматически перекидывало на главную страницу блога??? Или через .htaccess как-то или по другому. Как это сделать???
Вопрос – а зачем так делать? Нужно дать пользователю инф-ю, что он попал на страницу, которой не существует. И уже на ней дать возможность самому пользователю выбрать что делать дальше.
Если у вас есть какой-то свой, сакральный смысл – расскажите о нем.
Если мне так нужно, значит, я уже подумал )) Мне интересны технические способы, а не аналитические ))
Простейший технический способ – на 404 странице добавить мета-тег:
<META HTTP-EQUIV="Refresh" CONTENT="3; URL=http://www.site.ru">
Если данная команда указана в заголовке документа, то через 3 секунд браузер автоматически заменяет текущий документ на документ, указанный атрибутом URL.
У меня вообще не было страницы 404. Я создал ее и прописал там:
<?php
//Simple Redirect for WordPress.
//Christopher Carey
//301 Redirect for WordPress
//мой_сайт.ru
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".get_bloginfo(‘url’));
exit();
?>
Но когда я захожу на страницу, которой нет, то ничего не меняется и никуда не переадресовывается. Пробовал ставить мета тег, что вы дали, но переадресации не происходит. Закачивал файл 404.php и в корень сайта и в папку темы, но ничего не меняется.
1. 404.php должен быть расопложен в папке с темой.
2. Приведенный код не вызывает ошибки? У вас там перевод каретки после <?php
3. вот тут подробно рассказывается как создавать страницу 404.php – http://codex.wordpress.org/Creating_an_Error_404_Page
Он расположен в папке с темой
Я не знаю. Пишет вот что:
Not Found
The requested URL /адрес страницы/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Я заходил уже сюда, просто в английском не сильно. Особенно, что касается таким мелочей, как возня в коде ))
Всё просто. И описано подробно в документации к WordPress
1. Создаешь файл в папке темы 404.php
2. Наполняешь его нужным содержанием
3. в файле .htaccess прописываешь
ErrorDocument 404 /index.php?error=404
ну и все дела…
О! То, что доктор прописал! В .htaccess прописал ErrorDocument 404 /index.php?error=404 и все заработало!!! Спасибо большое!!!
Рад, что помогло. Я в своё время тоже настрадался. Искал по сайтам и блогам, читал всякую хрень, пока не решил поискать в документации WordPress Codex.
Я просто подумал, что пускай лучше будет на главную сразу перебрасывать да и все. Спасибо еще раз!
лучше когда перебрасывает на специальную страницу. можно лишний раз выставить анонсы интересных статей и другую полезную информацию.
А как все это сделать?
вот так выглядит моя 404.php
можно лепить там что хочешь: архив статей, архив рубрик, избранное… поиск через гугль, поискть через яндекс… нет предела совершенству
<?php get_header(); ?>
<div id="content" class="narrowcolumn">
<h2 class="center"><?php _e(‘Error 404 – Not Found’, ‘magazine-basic’); ?></h2>
</div>
<b><?php _e(‘Search by Month:’, ‘magazine-basic’); ?></b>
<ul>
<?php wp_get_archives(‘type=monthly’); ?>
</ul>
<b><?php _e(‘Search by Category:’, ‘magazine-basic’); ?></b>
<ul>
<?php wp_list_cats(‘sort_column=name’); ?>
</ul>
<script type="text/javascript">
var GOOG_FIXURL_LANG = ‘ru’;
var GOOG_FIXURL_SITE = ‘http://www.мойдоментипа.ком’
</script>
<script type="text/javascript"
src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js">
</script>
<?php get_footer(); ?>