Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Обработка ошибки 404

Поиск:
Представьте себе ситуацию: ходит себе посетитель по вашему сайту, на ссылки кликает, окна открывает... И вдруг – видит, в одном – сообщение на бледном default фоне:

Цитата

Not Found
The requested URL /somepath/pivo.html was not found on this server.
Apache/1.3.X Server at www.some.net Port XX


Эта фраза, так много говорящая посетителю без знания английского, автоматически генерируется сервером, если запрошен документ с URL www.some.net/somepath/pivo.html, которого нет на сервере. Причины? Линк битый или букмарк устарел. Или посетитель набирал адрес вручную и очепятка вышла. Или пиво кончилось...

Особо вежливые вебмастера в таких случаях не любят пугать юзера бледным техническим текстом, а создают в каталоге сервера файл .htaccess (если его там еще нет), и помещают туда строку:

Код

ErrorDocument 404 /path/error.html


И теперь сервер во всех случаях ошибки 404 («документ не найден») выдает посетителю заготовленную старательным вебдизайнером страницу error.html. На этой странице в фирменном для ресурса стиле авторы извиняются (что хуже, чем целые линки, но лучше, чем ничего), объясняют посетителю, что запрошенной страницы здесь нет и что теперь с этим делать. Например, пожаловаться на email вебмастера о плохом обслуживании или перейти на главную страницу ресурса. Некоторые особо продвинутые вставляют на этой же error.html небольшой поисковик или карту сайта...

Если ваш хостинг позволяет использовать SSI (server-side includes) или php, то можно не только извиниться, но и напомнить посетителю, какого именно «Пива нет» (если он, посетитель, уже успел заблудиться в открытых окнах вашего сайта и в упор не помнит, с какой страницы линк привел его к «Ошибке 404»). И просить его отправить вебмастеру уже подготовленное письмо об ошибке.

Для этого файл error.shtml(*.shtml - стандартное расширение файлов, которые будут обрабатываться сервером на предмет SSI-инструкций) должен содержать:

Код

<p>Извините, пива марки &quot;<!--#echo var="REQUEST_URI"-->&quot;нет!</p>
<p>Пишите в
<a href="mailto:webmaster@some.net?subject=error404&body=<!--#echo
var="REQUEST_URI"--> not found;
link from <!--#echo var="HTTP_REFERER"-->">Книгу Жалоб</a>.
Вебмастера уволят.</p>


Решение с помощью php (если он у провайдера хостинга есть): в .htaccess пишется
Код

ErrorDocument 404 /path/error.php


В теле файла error.php (стандартно *.php-файлы обрабатываются на предмет php-инструкций ) соответственно:

Код

<p>Извините, файл &quot;<? echo $REQUEST_URI ?>&quot; не найден...</p>
<p>Пишите в
<a href="mailto:webmaster@ some.net?subject=error404&body=<? echo
$REQUEST_URI ?> not found;
link from <? echo $HTTP_REFERER ?>">Книгу Жалоб</a>.
Вебмастер исправит.</p>


В обоих (*.shtml и *.php) случаях пользователь увидит извинение; а если кликнет на сылку «mailto:», то в окне его почтового клиента появится уже заполненное сообщение об ошибке: чего нет, откуда на это "то, чего нет" ссылка.

Примечания: В принципе, вы можете ничего перечисленного выше не делать. Пускай учат английский!...

По материалам статьи на FaqTeam.org
Автор: Denveroid
Сайт: http://sitemaker.ru






Просмотров: 4348

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную