Ошибка 404 была хорошо известна еще до появления WordPress. Она возникает с том случае, если web-сервеh не находит страницу соответствующую url, поэтому вынужден возвратить вместо нее специальную страницу с ошибкой 404.
Если сайт управляется WordPress, то в базовой настройке, не найдя нужной страницы, WordPress передает эту ошибку web-серверу, который действует по уже описанному выше сценарию.
Существуют wp-плагины, которые обрабатывают ситуацию ненайденной страницы своими силами и не сообщают об этом web-серверу, однако можно обойтись без них.
При типичных настройках, как уже описано выше, web-сервер открывает специальную статическую страницу, которая находится в корне сайта, в моем случае это файл 404.shtml с простым и безрадостным содержанием. Чтобы наполнить ошибку 404 красками и радостью, самым простым и естественным является перенаправление браузера с этой страницы на другую существующую wp-страницу. Для этого в файле 404.shtml следует прописать meta-тег перенаправления:
1 2 3 4 5 6 7 |
<html> <head> <meta http-equiv="refresh" content="0; URL='http://reks.biz/?page_id=404'" /> </head> <body> </body> </html> |
Здесь в примере в параметре ?page_id=404 совпадение кода ошибки 404 с идентификатором страницы создано намеренно. Практически код страницы может быть любым, как и стиль ссылки, в соответствии с настройками WordPress может быть совершенно произвольным.
Чтобы на wp-странице 404 отобразилась строка поиска по сайту, в текст страницы необходимо внедрить код:
1 2 3 4 |
<h3>Поиск:</h1> [exec] get_search_form(); [/exec] |