Представьте себе
ситуацию: ходит себе посетитель по вашему сайту,
на ссылки кликает, окна вскрывает... А также внезапно –
наблюдает, в одном – сообщение на бледном 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>Извините, пива марки "<!--#echo var="REQUEST_URI"-->"нет!</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>Извините, файл "<? echo $REQUEST_URI ?>" никак не найден...</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:», то в окне его почтового заказчика
появится уже заполненное сообщение об ошибке:
чего нет, откуда на это "то, чего нет" ссылка.
Примечания: В принципе, вы можете
ничто перечисленного выше никак не действовать. Пускай
учат английский!...