Май

11

Права произведения похожи на самих себя - несовершенны. Возникновения ошибок, вызванных серфингом или программиста, это неизбежно. Но это наша задача сделать ущерба контроля, лучше всего делать, когда ошибка заключается в том, чтобы перенаправить браузеров, что опыт сообщение об ошибке 404 (не найдено) в файл "error.php" расположен в корневом каталоге сервера. Что мало кодирования на PHP, вы можете настроить этот файл для обработки все коды ошибок, которая позволит им легче управлять.

Полный (и весьма длинный) список ошибок можно ознакомиться здесь: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Некоторые из наиболее распространенных ошибок, вы, вероятно, хотите сделать для записей являются:

400 - Бад Запрос
401 - Несанкционированная
403 - Запрещено
404 - Not Found
500 - Внутренняя ошибка сервера

. htaccess

Чтобы поймать этих ошибок, вы должны добавить следующее. Htaccess для домена, вы хотите настроить:

  ErrorDocument 400 / error.php 
  ErrorDocument 401 / error.php 
  ErrorDocument 403 / error.php 
  ErrorDocument 404 / error.php 
  ErrorDocument 500 / error.php 

error.php

Затем, в error.php добавить нечто вроде следующего. Этот конкретный пример для Wordpress сайте, и если кто-то едет в http://www.example.com/Foo и страница не найдена, они перенаправляются на страницу результатов поиска http://www.example. COM / index.php? S = Foo. Все, что после последнего "/", как предполагается, будет искать перспективе они пытаются добраться.


  <! - P 
  / / Это особенно полезно при ошибке 404 указать недостающие страницы. 
  page_redirected_from $ = $ _SERVER [ 'REQUEST_URI']; 
  $ server_url = "http://".  $ _SERVER [ "SERVER_NAME"]. "/"; 
  redirect_url $ = $ _SERVER [ "REDIRECT_URL"]; 
  $ redirect_url_array = parse_url ($ redirect_url); 
  $ end_of_path = str_replace ("/", "", $ redirect_url_array [ "путь"]); 

  переключатель (GETENV ( "REDIRECT_STATUS")) 
  ( 
	  # "400 - Bad Запрос" 
	  дело 400: 
	  $ error_code = "400 - Bad Запрос"; 
	  $ объяснение = "Синтаксис URL представленных ваш браузер не может быть понято."; 
	  $ мотивам .= "Пожалуйста, проверьте адрес и повторите попытку."; 
	  redirect_to $ = ""; 
	  брейк; 

	  # "401 - Несанкционированное" 
	  Дело 401: 
	  $ error_code = "401 - Несанкционированное"; 
	  $ объяснение = "Этот раздел требует пароля или иным образом защищены."; 
	  $ мотивам .= "Если Вы считаете, что попали на эту страницу по ошибке,"; 
	  $ мотивам .= "Пожалуйста, вернуться на страницу входа и попробуйте снова"; 
	  $ мотивам .= "или обратитесь к веб-мастеру, если вы по-прежнему есть проблемы."; 
	  redirect_to $ = ""; 
	  брейк; 

	  # "403 - Запрещено" 
	  Дело 403: 
	  $ error_code = "403 - Запрещено"; 
	  $ объяснение = "Этот раздел требует пароля или иным образом защищены."; 
  	  $ мотивам .= "Если Вы считаете, что попали на эту страницу по ошибке,"; 
	  $ мотивам .= "Пожалуйста, вернуться на страницу входа и попробуйте снова"; 
	  $ мотивам .= "или обратитесь к веб-мастеру, если вы по-прежнему есть проблемы."; 
	  redirect_to $ = ""; 
	  брейк; 

	  # "404 - Not Found" 
	  Дело 404: 
	  $ error_code = "404 - Not Found"; 
	  $ объяснение = "Запрашиваемый ресурс".  $ page_redirected_from.  " '"; 
	  $ мотивам .= "не может быть найден на этом сервере."; 
	  $ мотивам .= "Пожалуйста, проверьте адрес и повторите попытку."; 
	  redirect_to $ = $ server_url. "? S =".  $ end_of_path; 
	  брейк; 

	  # "500 - Внутренняя ошибка сервера" 
	  дело 500: 
	  $ error_code = "500 - Внутренняя ошибка сервера"; 
	  $ объяснение = "Сервер опытных непредвиденная ошибка."; 
	  $ мотивам .= "Пожалуйста, проверьте адрес и повторите попытку."; 
	  redirect_to $ = ""; 
	  брейк; 
  ) 
  -> 

  <! - CTYPE HTML PUBLIC "- / / W3C / / DTD XHTML 1.0 Transitional / / EN" 
	 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--> 

  <! - P 
	  если (strcmp ($ redirect_to, "")! = 0) 
	  ( 
  -> 

  <! - P 
	  ) 
  -> 
  <h1> Код ошибки <! - С распечатать ($ error_code );--></ h1> 
  <a Href="http://en.wikipedia.org/wiki/Uniform_resource_locator" onclick="javascript:pageTracker._trackPageview ('/outbound/en.wikipedia.org');"> URL </ A>, которую вы запросили, не был найден.  <! - С эха ($ мотивам );--> 

  <strong> Вы имели в виду по типу <a href="http://www.blog.highub.com/wp-admin/%3C?php печать ($redirect_to); ?> "><!-- P Print ( $ redirect_to );--></> </ STRONG> 
  Вы будете автоматически перенаправлены туда в пять секунд. 

  Вы также можете попробовать, начиная с главной страницы: <a href="http://www.blog.highub.com/wp-admin/%3C?php печать ($server_url); ?> "><!- -С распечатать ($ server_url );--></> 
  <hr /> 

  <em> проекта <a href="http://www.blog.highub.com/wp-admin/%3C?php печать ($server_url); ?> "><!-- P Print ($ server_url );--></>. </ EM> 

Digg Facebook Google Newsvine Reddit Slashdot Technorati Windows Live Yahoo del.icio.us



Аналогичные сообщения

Комментарии

Имя (обязательно)

Email (обязательно)

Веб-сайт

Говорите вы думаете

1 Комментарий до сих пор

  1. m0dk1d по 21 мая 2008 года 10:36 утра

    весьма всеобъемлющий, спасибо!

Спонсоры




Ссылки