errordocument 404 index php error 404
Одни из самых дешевых услуг регистрации и главное пролонгации доменов.
Шаблон-пример корректных вводимых УРЛ- адресов следующий:
Error Document:
При возникновении ошибки 4xx или 5xx посетитель Вашего сайта увидит в браузере сообщение от сервера, которое вряд ли можно назвать предельно понятным рядовому пользователю. Apache предоставляет возможность выдать вместо аскетичного технического текста, не изобилующего деталями, свою страницу, где Вы можете человеческим языком объяснить пользователю, что произошло и что делать.
Рассмотрим примеры. Допустим, пользователь обратился к документу, которого не существует на сервере.
Итак, создаем документ, который будем показывать пользователю в случае возникновения ошибки 404.
Информационно красиво оформленные ошибки кодов ответов веб сайта http://htaccess.net.ru можно увидеть по ссылкам ниже.
Итак в файле «. htaccess » дописываем сверху следующие строки например:
Теперь при возникновении ошибки 404 пользователь увидит именно Ваш файл. Еще можно скриптом или с помощью SSI вставить в выдаваемый документ какую-нибудь служебную информацию, которую пользователь должен будет привести, если решит обратиться за комментариями к Вам по e-mail. Таким образом можно обработать практически все негативные коды возврата. Конечно, можно обработать и позитивные коды, но смысл этого не до конца ясен, равно как непонятно в какой ситуации это может пригодиться.
В ниже приведенных примерах вы можите узнать как перенаправлять посетителей с зарегистрированных доменов с трафиком, перенаправляя их таким образом с несуществующих страниц таких доменов например на главную страницу другого рабочего домена.
# в случае ошибки «SERVER ERROR» показывается страница с другого ресурса:
ErrorDocument 500 http://htaccess.net.ru/cgi-bin/500.pl
# в случае ошибки «NOT FOUND» показывается страница с того же веб-сайта:
ErrorDocument 404 /cgi-bin/error404.pl
# в случае ошибки «FORBIDDEN» показывается текстовое сообщение, которое
# обязательно должно начинаться с кавычки, кавычка в сообщении не выводится:
ErrorDocument 403 «Sorry can’t allow you access today, 403 Status Codes Apache
Как вы видите все довольно просто.
Для проверки работоспособности 404 ошибка наберите любой не существующий адрес странице на сайта, например http://htaccess.net.ru/index777.php
Для вызова 403 ошибки попробуйте открыть например запрещенный для общего доступа файл например http://htaccess.net.ru/.htaccess
Недавно освободившиеся домены с PR и ТИЦ:
Использовать промокод при оплате услуг сможет каждый из зарегистрировавшихся только один раз. Поэтому вначале добавляем в корзину все что нужно, а затем одной операцией вводим купон и проводим оплату.
f5_kitten
Новичок
Bor-ka
Новичок
ErrorDocument 404 /index.php
путь с http тут вообще не при чем. имхо
f5_kitten
Новичок
Bor-ka
Новичок
f5_kitten
значит пропиши полный путь.
чтьо значит «не видит index.php»?
f5_kitten
Новичок
440hz
php.ru
посмотреть логи апача слабо? что он там на самом деле запрашивает и отдает?
может сделать не index.php, а 404.php? а то как-то непонятно. Index.php отдается по дефолту, а если не найден, то ищется сам же Index.php что ли? что-то я не понял этого изыска?
f5_kitten
Новичок
Кстати переименовала на 404.php.
Вопрос: а где указывать header? Насколько мне известно в 404.php?
kruglov
Новичок
Начнем с того, что страницы, выдащие статус 404, не индексируются в поисковиках, тогда как IE не показывает свои ошибки для страниц больше полукилобайта. Зачем вам индексировать 404 страницу?
Про редирект:
Пользователь обычно крайне негативно относится к тому, что его 2 минуты набивавшаяся строчка с адресом и опечаткой заменяется «умным» сайтом на «/404/», не давая эту опечатку исправить, только набивать заново.
Поэтому прошу неправильных советов не давать.
f5_kitten
Если апач свой (и криво настроенный), то у него в httpd.conf ищите AllowOverride.
f5_kitten
Новичок
Суть моей задачи состоит в том, что при переходе на несуществующую страницу мы должны вычленить url, прочитать что нам необходимо было, сгенерить страницу, используя базу.
kruglov
Новичок
А потом уже думать, как лучше делать вызов обработчика несуществующей страницы.
Лично я люблю применять mod_rewrite, а не ErrorDocument. Как-то кошернее и страницы потом POST-запросы обрабатывать могут.
f5_kitten
Новичок
440hz
php.ru
kruglov
Новичок
440hz
В данном случае, безусловно, означает. Простите, но уровень ваших заключений дает мне право так говорить.
Слушайте внимательно. Еще раз:
IE отобразит то, что вам надо, не только если статус 200, а если длина страницы больше полукилобайта. Отдавать 200 на несуществующую страницу ересь несусветная.
Касательно нормальных ссылок:
Я лично сделаю ненормальную ссылку на ваш сайт и зарегистрирую ее в яндексе. Или вы сами в процессе реорганизации сайта удалите какую-нибудь страницу, а яндекс так и не узнает, что она удалилась.
Ответьте, что вы думаете о мнении, что также ересью является переадресовывать человека на 404/
htaccess errordocument 404 and pass url to path
For example, if I visit an invalid page: /user/123
Resulting in a 404 redirect to /404.php?error_path=/user/123
3 Answers 3
ErrorDocument is not part of mod_rewrite and that is invalid. Is this what your looking for?
On apache 2.4 and later, you can use mod-rewrite variables with ErrorDocument directive :
This will internally send the 404 uri to your 404.php page and you can manipulate it using the following code in 404.php
Redirecting to another URL can be useful, but only if some information can be passed which can then be used to explain or log the error condition more clearly.
To achieve this, when the error redirect is sent, additional environment variables will be set, which will be generated from the headers provided to the original request by prepending ‘REDIRECT_’ onto the original header name. This provides the error document the context of the original request.
For example, you might receive, in addition to more usual environment variables, the following.
REDIRECT_ environment variables are created from the environment variables which existed prior to the redirect. They are renamed with a REDIRECT_ prefix, i.e., HTTP_USER_AGENT becomes REDIRECT_HTTP_USER_AGENT.
REDIRECT_URL, REDIRECT_STATUS, and REDIRECT_QUERY_STRING are guaranteed to be set, and the other headers will be set only if they existed prior to the error condition.
None of these will be set if the ErrorDocument target is an external redirect (anything starting with a scheme name like http:, even if it refers to the same host as the server).
Сегодня я расскажу о нескольких полезных вещах, которые можно сделать с файлом htaccess. Эти вещи, которые вы сможете использовать на своих веб-сайтах, сделают работу с сайтами более удобной.
1. Перенаправление посетителей при обновлении сайта.
Замените 123.123.123.123 на Ваш ip-адрес, а также замените page.html на ту страницу, которую будут видеть пользователи, зашедшие на сайт.
2. Определенная страница с ошибкой 404.
Когда пользователи обращаются к странице на Вашем сайте, которой не существует, то им показывается ошибка 404. Если вы хотите сделать ее определенной страницей, то в файле htaccess следует прописать следующий код:
Перенаправлять посетителей в таком случае удобно на главную страницу сайта.
3. Редирект на перемещенные или переименованные страницы.
Если вы переименовали или переместили некоторые страницы на сайте и хотите, чтобы посетители увидели уже новые страницы, даже если они обращаются по старому адресу, следует в файл htaccess прописать следующий код:
Также вы можете использовать такой редирект для того, чтобы страница не потерялась для поисковиков.
4. Запрет на просмотр директории.
Если у Вас в папке на сайте нет файла index, то любой пользователь может посмотреть, какие файлы в ней лежат.
Чтобы избежать таких вещей, следует прописать такой код:
На некоторых хостингах такая функция прописана по-умолчанию, в таком случае Вам не стоит беспокоиться.
5. Создание красивых URL.
Несомненно, что из этих двух ссылок первая выглядит намного привлекательнее.
С помощью файла htaccess и апач модуля, который называется mod_rewrite, вы сможете переделать свои ссылки на более красивые и короткие.
Вот некоторые примеры с кодом:
P.P.S. Чтобы с нуля создать такой файл Вам следует открыть, например, блокнот, вписать в него строчку
нажать «Сохранить как. «, в имя файла ввести .htaccess и выбрать «все файлы».
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.frontdeskapp.com
Перевел: Сергей Патин
Урок создан: 22 Июня 2009
Просмотров: 108420
Правила перепечатки
5 последних уроков рубрики «Для сайта»
Эффекты блочного раскрытия
Сегодня мы хотели бы поделиться несколькими идеями касающегося эффекта блочного раскрытия, которую вы можете использовать для своих проектов.
20 бесплатных тем для WordPress в стиле Material Design
Material Design — это набирающий обороты тренд от Google. В данной подборке собраны бесплатные темы для WordPress, выполненные в этом популярном стиле.
20 сайтов с креативным MouseOver эффектом
Эффекты на то и существуют чтобы впечатлять наших посетителей. В этой подборке собрано несколько десятков ресурсов, чьи создатели очень постарались впечатлить своих посетителей.
45+ бесплатных материалов для веб дизайнеров за август 2016
Под конец месяца предлагаем ознакомиться с набором бесплатных материалов для веб дизайнеров за прошедший месяц.
WordPress.org
Русский
Ошибка 404 на htaccess
elimelech,
Попробуйте открыть https://мой_сайт/wp-content/themes/the-core-parent/404.php в браузере и посмотреть, что там выдаётся. Предполагаю, что ошибки PHP, связанные с отсутствием get_header() и других функций движка.
Какую именно задачу вы хотите решить?
но у меня Код ответа несуществующей страницы 404
Получен код 200.
Fatal error: Call to undefined function get_header() in /public_html/wp-content/themes/the-core-parent/404.php on line 6
elimelech, если так принципиально, то можете с заголовком подшаманить, будет ответ 404.
если бы я умел шаманить. 🙁
elimelech,
вариант №1:
в файл 404.php можно добавить строчку header(«HTTP/1.0 404 Not Found»); или status_header(404);
вариант №2:
в файл functions.php дочерней темы или в функциональный плагин добавить код:
А если лучше сделать так?
elimelech,
Можно и так, но лучше вариант №2.
вариант №2 не работает. 🙁
elimelech, в файл functions.php активной темы добавили код? Ссылку можно на сайт?
добавил по второму варианту в файл functions.php в теме The Core Child, сайт https://cpmiohio.com
У меня какие темы стоит родительская: 2)The Core Parent
2)активная: The Core Child, пишет что: This is a child theme of The Core Parent.
* * *
в папке The Core Child нету файла 404.php, он есть тольок в папке The Core Parent
elimelech, у вас сейчас все несуществующие страницы отдают почему-то главную страницу сайта — это раз. Два — у вас есть редирект на те же URL, только со слэшем в конце. Три — TTFB великоват и составляет
В этом случае вообще не стоит трогать файлы темы, а следует обратиться в ТП вашей коммерческой темы, за которую вы заплатили при покупке.
п.9 правил форума.

