Почему моя страница WordPress 404 выглядит пустой? - PullRequest
0 голосов
/ 02 февраля 2010

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

Я не вижу причин, по которым он не работает, у меня включена функция mod_rewrite для симпатичных постоянных ссылок, но перенаправление 404, похоже, не хочет работать.

Это известная проблема?

Это мой дерьмовый сервер с Streamline.net?

Кто-нибудь может помочь?

Ответы [ 4 ]

1 голос
/ 09 июля 2012

Если у вас уже есть файл 404.php в шаблоне вашей темы, если нет, создайте его.Затем выполните следующие действия.

Шаг первый: откройте существующий файл 404.php в любом редакторе или создайте новый в каталоге темы.

Шаг второй: скопируйте / вставьте указанный ниже код вваш файл 404.php (убедитесь, что ваш файл 404.php пуст)

//404 Redirect to home in WordPress.
//Sara Domini
//301 Permanently Redirect
//http://2experts.net
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".get_bloginfo('url'));
exit();

Для меня и других работает как шарм:))

1 голос
/ 26 мая 2010

Страдает от той же проблемы с Streamline. Я думаю, это связано с версией apache, используемой на этом хостинге 1.3.

1 голос
/ 02 февраля 2010

Вы можете попробовать установить свои собственные документы об ошибках в .htaccess, и это может переопределить ваши настройки хостов, которые указывают на статическую страницу wordpress, называемую «ошибка» или на 404.php в вашей теме

ErrorDocument 401 http://mydomain.com/error/
ErrorDocument 403 http://mydomain.com/error/
ErrorDocument 404 http://mydomain.com/error/
ErrorDocument 500 http://mydomain.com/error/

Изменить: Вы также можете сделать перенаправление в файле 404.php вашей темы (да, это уродливо ...) на вашу страницу статической ошибки: <?php Header("Location: http://mydomain.com/error/"); ?>

Если это не сработает, я не знаю.

0 голосов
/ 27 мая 2010

Довольно странно, что это происходит. Если WordPress работает с довольно постоянными ссылками, то Apache выполняет свою работу - переписывает любой URL, который физически не существует, в WordPress.

Затем WP должен решить, не соответствует ли запрос ничего, и если да, отобразить 404.

Возможно, Streamline это испортит это, прочитав заголовок '404 Not Found', который WP выбрасывает и возится с выводом?

...