ÔÚµ±½ñ»¥ÁªÍø¸ßËÙÉú³¤µÄʱ´ú£¬ÍøÕ¾µÄÎȹÌÐÔºÍÓû§ÌåÑé³ÉΪȨºâÒ»ÇеÄÒªº¦Ö¸±ê¡£×÷ΪȫÇòÓ¦ÓÃ×îÆÕ±éµÄWebЧÀÍÆ÷Ö®Ò»£¬NginxÒÀ¸½ÆäÓÅÒìµÄÐÔÄÜÓëÎÞаµÄÉèÖ㬳ÉΪÎÞÊýÍøÕ¾µÄÊ×Ñ¡¡£¶øÆäÖУ¬error_pageÖ¸ÁîÓëngx_http_core_moduleÄ£¿éµÄÁ¬Ïµ£¬ÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£
¡°error_page¡±Ö¸ÁÌýÆðÀ´ÏñÊÇΪ·ºÆðÎÊÌâʱÌṩ½â¾ö¼Æ»®µÄ¡°ÇÀ¾ÈÏ䡱¡£ËüÔÊÐí¿ª·¢ÕßÔÚÓöµ½Ìض¨¹ýʧ´úÂ루Èç404¡¢500µÈ£©Ê±£¬½çËµÌø×ªµ½×Ô½ç˵µÄ¹ýÊ§Ò³Ãæ£¬ÕâÑùÒ»À´£¬Óû§¾Í²»»á¿´µ½ÁîÈËÞÏÞεÄĬÈϹýʧÐÅÏ¢£¬¶øÊÇÏíÊܵ½Ò»ÖÖ¸üרҵ¡¢¸üÈËÐÔ»¯µÄÌåÑé¡£
Õâ²»µ«¸ÄÉÆÁËÓû§µÄä¯ÀÀ¸ÐÊÜ£¬Ò²ÓÐÖúÓÚïÔÌÒò¹ýÊ§Ò³Ãæ´øÀ´µÄ¿Í»§Á÷ʧ¡£
¶ø¡°ngxhttpcoremodule¡±ÔòÊÇNginxµÄ½¹µãÄ£¿éÖ®Ò»£¬ÊÇËùÓлù´¡¹¦Ð§µÄ±³ºóÖ§³Ö¡£´ÓÕûÌå¼Ü¹¹À´¿´£¬Õâ¸öÄ£¿éÌṩÁË»ù´¡µÄÇëÇó´¦Öóͷ£¡¢ÉèÖÃÆÊÎö¡¢¹ýʧÖÎÀíµÈ½¹µã¹¦Ð§¡£¡°errorpage¡±Ö¸Áî¼´ÊÇÓÉ´ËÄ£¿éÌṩµÄ£¬ËüµÄ±£´æÈÃÎÒÃÇ¿ÉÒÔÎÞаÉèÖùýÊ§Ò³Ãæ£¬´Ó¶øµÖ´ïÓÅ»¯ÕûÌåÍøÕ¾ÌåÏÖµÄÄ¿µÄ¡£
Ϊʲô¡°error_page¡±ÔÆÔÆÖ÷Òª£¿Ëü²»µ«½öÊǸæËßЧÀÍÆ÷ÔÚÓöµ½¹ýÊ§Ê±Ìø×ªµ½ÄĸöÒ³ÃæÕâô¼òÆÓ£¬¸üÊÇÒ»ÖÖÕ½ÂÔ¡ª¡ªÍ¨¹ý¶¨ÖÆ»¯µÄ¹ýÊ§Ò³Ãæ£¬Ö¸µ¼Óû§ÔÚÃæÁÙÎÊÌâʱ¼á³ÖÓÅÒìµÄÌåÑ飬¼õÇá¸ºÃæÇéÐ÷£¬Í¬Ê±Ò²¿ÉºÏÀíʹÓôËʱµÄʱ»ú£¬ÏòÓû§×ª´ïÆ·ÅÆÐÎÏó»òÌṩÐëÒªµÄ×ÊÖúÐÅÏ¢¡£
ÈôÊÇûÓкÏÀíÉèÖá°error_page¡±£¬ÍøÕ¾ÔÚ·ºÆð¹ýʧʱ¿ÉÄÜ»áÖ±½ÓÏÔʾĬÈϵĴ¿Îı¾»ò¼«Æä²»ÓѺõĽçÃæ£¬Õâ»á¸øÓû§Ôì³É¼«²îµÄÌåÑ飬Ҳ¿ÉÄܵ¼Ö¿ͻ§Á÷ʧ£¬ËÑË÷ÒýÇæÒ²¸üÄÑ×¼È·×¥È¡ÍøÕ¾ÄÚÈÝ¡£·´Ö®£¬Í¨¹ýÈ«ÐÄÉè¼ÆµÄ¹ýÊ§Ò³Ãæ£¬Äã¿ÉÒÔ½«¡°Î£»ú¡±×ªÄð³É¡°»úÔµ¡±¡£
ºÃ±È£¬¼ÓÈëÒ»Ð©Ú¶Ð³ÔªËØ¡¢Ìṩµ¼º½»òËÑË÷¹¦Ð§£¬ÉõÖÁÍÆËÍÓÅ»ÝÐÅÏ¢£¬¶¼ÄÜÈÃÓû§ÔÚÓöµ½ÎÊÌâʱÒÀÈ»¶ÔÍøÕ¾¼á³ÖºÃ¸Ð¡£
ÉèÖá°error_page¡±ËäÈ»ÌýÆðÀ´¼òÆÓ£¬µ«×ÅʵҲÊÇÒ»ÃÅÊÖÒջÄãÐèÒªÃ÷È·ÄÄЩ¹ýʧ´úÂëÐèÒª¶¨ÖÆÒ³Ã棬ºÃ±È404£¨Î´ÕÒµ½Ò³Ã棩¡¢500£¨Ð§ÀÍÆ÷ÄÚ²¿¹ýʧ£©¡¢502£¨Íø¹Ø¹ýʧ£©µÈ£¬È»ºóΪÿһÖÖ¹ýʧд³öÏìÓ¦µÄÒ³ÃæÂ·¾¶¡£¸üÖØ´óµÄ³¡¾°»¹ÄÜÆ¾Ö¤ÇëÇóµÄ²î±ð²ÎÊý£¬¶¨ÖƲî±ðµÄ¹ýʧÌáÐÑ£¬×öµ½¾«×¼»¯Ð§ÀÍ¡£
ÀýÈ磬Äã¿ÉÒÔΪ²î±ðµÄ×ÓÓò»ò·¾¶ÉèÖòî±ðµÄ¹ýÊ§Ò³Ãæ£¬ÕâÑù¼´±ãÔÚÖØ´óÇéÐÎÖУ¬Ò²Äܼá³Ö¸ß¶ÈµÄ¸öÐÔ»¯ºÍרҵÐÔ¡£
²»¹ý£¬Òª³ä·ÖÑéÕ¹¡°error_page¡±µÄ×÷Ó㬳ýÁËÌÜд¾²Ì¬µÄHTMLÒ³Ãæ£¬ÍùÍù»¹»áÁ¬Ïµ¶¯Ì¬¾ç±¾¡¢Í³¼ÆÆÊÎöµÈÊÖÒÕ£¬ÈùýʧÖÎÀí±äµÃÔ½·¢ÖÇÄÜ¡£ÀýÈ磬ͨ¹ýÔÚ¹ýÊ§Ò³ÃæÉÏǶÈë»á¼ûͳ¼Æ´úÂ룬ÆÊÎöÌØ¶¨¹ýʧµÄ±¬·¢ÆµÂÊ£¬´Ó¶øÓÅ»¯ºǫ́ЧÀÍ»òË¢ÐÂǰ¶ËÉè¼Æ¡£ÉÐÓÐµÄÆóÒµ»áÔÚ·ºÆðÑÏÖØ¹ýʧʱ£¬×Ô¶¯Í¨ÖªÔËάְԱ£¬ÓÐÓÃËõ¶Ì¹ÊÕÏÅŲéʱ¼ä¡£
ÍêÕûÃ÷È·¡°ngxhttpcore_module¡±µÄ¹¦Ð§£¬ÎÒÃÇ¿ÉÒÔÖªµÀ£¬ËüÖ§³Ö¶àÖÖÉèÖ÷½·¨£¬°üÀ¨½ç˵²î±ðµÄ¹ýÊ§Ò³Ãæ¡¢ÉèÖÃÖØ¶¨Ïò¹æÔò£¬ÉõÖÁÔÚijЩÇéÐÎÏ»¹ÄÜÁ¬ÏµLua¾ç±¾¾ÙÐÐÔ½·¢ÖØ´óµÄ¹ýʧ´¦Öóͷ£Âß¼¡£ÕâЩ¶¼ÎªÍøÕ¾µÄÎȹÌÐÔºÍÓû§Öª×ã¶ÈÌṩÁ˼áʵµÄ°ü¹Ü¡£
×ܽáһϣ¬¡°errorpage¡±×÷Ϊ¡°ngxhttpcoremodule¡±ÖÐÖÁ¹ØÖ÷ÒªµÄÖ¸ÁîÖ®Ò»£¬¾ßÓм«Æä¸»ºñÇÒÊÊÓõÄÓ¦Óó¡¾°¡£´ÓÌáÉýÓû§ÌåÑé¡¢ÔöÇ¿ÍøÕ¾ÎȹÌÐÔ£¬µ½ÓÅ»¯ËÑË÷ÒýÇæÅÅÃû¡¢ÌáÉýÆ·ÅÆÐÎÏó£¬Ëü¶¼ÊDz»¿É»òȱµÄÀûÆ÷¡£ÕÆÎÕºÏÀíµÄÉèÖü¼ÇÉ£¬ÄÜÈÃÄãµÄNginxЧÀÍÆ÷ÔÚÃæÁÙÍ»·¢×´Ì¬Ê±£¬Õ¹ÏÖ³ö³¬Ç¿µÄÓ¦±äÄÜÁ¦£¬´Ó¶øÈÃÍøÕ¾Ê¼ÖÕ¼á³ÖÔÚ×îÓÅ״̬¡£
ÏÂÒ»¶ÎÄÚÈÝ£¬ÎÒÃǽ«ÉîÈë̽ÌÖÏêϸµÄÉèÖü¼ÇÉÓë¸ß¼¶Ó¦Óã¬ÈÃÄã³ÉÎªÕæÕýµÄ¡°¹ýÊ§Ò³Ãæ¡±¾Þ½³¡£
ÉÏÒ»²¿·Ö½â˵ÁË¡°errorpage¡±Ö¸ÁîµÄ»ù´¡×÷ÓúÍÔÚ¡°ngxhttpcoremodule¡±ÖеÄÖ÷Ҫְ룬½ñÌìÎÒÃǽ«ÉîÈë̽ÌÖÔõÑùͨ¹ýһЩÏÖʵµÄÉèÖü¼ÇÉ£¬×î´ó»¯Ê¹ÓÃÕâÒ»¹¦Ð§£¬´òÔì³ö¼ÈÑŹÛÓÖ¸ßЧµÄ¹ýÊ§Ò³Ãæ¼Æ»®¡£
Ò»¡¢»ù±¾ÉèÖü¼ÇÉ£ºÃ÷È·¹ýʧ´úÂ룬¶¨ÖÆÒ³ÃæÂ·¾¶¾ø´ó´ó¶¼ÍøÕ¾»áÓöµ½404£¨Î´ÕÒµ½Ò³Ã棩ºÍ50x£¨Ð§ÀÍÆ÷¹ýʧ£©ÕâÁ½Àà¹ýʧ¡£ÉèÖÃʱÐèÒªÃ÷È·Õë¶ÔÿһÖÖ¹ýʧ£¬½ç˵¶ÔÓ¦µÄÒ³ÃæÂ·¾¶¡£ÀýÈ磺
error_page404/custom_404.html;error_page500502503504/custom_50x.html;
ÕâÁ½ÐÐÉèÖøæËßNginx£ºµ±ÇëÇóЧ¹ûÊÇ404ʱ£¬Ìø×ªµ½/custom_404.html£¬¶øÓöµ½Ò»ÏµÁÐЧÀÍÆ÷¹ýÊ§Ê±Ìø×ªµ½/custom_50x.html¡£È·±£ÕâÐ©Ò³Ãæ¶¼Òѱ£´æÓÚЧÀÍÆ÷µÄ׼ȷλÖ㬲¢ÇÒÄÚÈÝÓ¦Á¬Ïµ¹«Ë¾Æ·ÅÆ¡¢Óû§ÌåÌùµÄÄÚÈݾÙÐиöÐÔ»¯Éè¼Æ¡£
¶þ¡¢¶¯Ì¬¹ýÊ§Ò³Ãæ£ºÁ¬Ïµºó¶ËÂß¼ÌáÉýÓû§ÌåÑé¾²Ì¬Ò³ÃæËäÈ»Ò×ÓÚά»¤£¬µ«Ò²¿ÉÒÔÁ¬Ïµºó¶ËÊÖÒÕ£¬×ö³ö¸üÖÇÄܵĹýʧ´¦Öóͷ£¡£ºÃ±È£¬Ê¹Ó÷´ÏòÊðÀí»òFastCGI£¬½«¹ýʧÇëÇóÓɺó¶ËÓïÑÔ£¨ÈçPHP¡¢Node.js£©´¦Öóͷ££¬¶¯Ì¬ÏÔʾ¹ýʧԵ¹ÊÔÓÉ¡¢ÌṩËÑË÷½¨ÒéÉõÖÁÔÚÏ߿ͷþÖ§³Ö¡£
error_page404=@fallback;location@fallback{proxy_passhttp://backend_service/error_handling.php;}
ÕâÑùÒ»À´£¬Óû§»á¼û²»±£´æµÄÒ³ÃæÊ±£¬²»µ«»ñµÃÓѺõÄÌáÐÑ£¬»¹¿ÉÒÔÌṩ¸öÐÔ»¯ÍƼö»ò¹ÊÕÏÅŲéÐÅÏ¢£¬´ó´óÌáÉý»á¼ûÕ³ÐÔ¡£
Èý¡¢Á¬ÏµÖض¨ÏòÓ뻺´æ£¬ÓÅ»¯ÐÔÄܺÍSEOÓÐЩ³¡¾°Ï£¬Ö±½Ó·µ»Ø¾²Ì¬µÄ¹ýÊ§Ò³Ãæ¿ÉÄܵ¼ÖÂÆµÈÔÇëÇóͳһ×ÊÔ´£¬ÔöÌíЧÀÍÆ÷¼ç¸º¡£Ê¹Óá°rewrite¡±Ö¸ÁîÁ¬Ïµ¡°error_page¡±£¬¿ÉÒÔʵÏÖÌø×ªÖÁ»º´æ»òÆäËûÓÅ»¯Õ½ÂÔ¡£
error_page404=redirecthttp://www.example.com/errors/404.html;
Òª¸ãºÃSEOÓÅ»¯£¬×èÖ¹ËÑË÷ÒýÇæÎóÅÐÍøÕ¾ÖÊÁ¿£¬°Ñ¹ýÊ§Ò³ÃæµÄHTTP״̬ÂëÉèÖÃΪºÏÊʵÄ״̬£¨ºÃ±È¼á³Ö404״̬£©£¬¶ø²»ÊǼòÆÓµØÓÃ200״̬Âë·µ»Ø£¬ÕâÑùËÑË÷ÒýÇæ²Å»á׼ȷʶ±ð¡£
ËÄ¡¢Ô¤·ÀÐÔÉè¼Æ£º¼à¿ØÓë×Ô¶¯ÐÞ¸´¡°errorpage¡±ÉèÖÃÖ»ÊÇʺóµ÷½â²½·¥£¬¸üÓŵÄÕ½ÂÔÊÇÌáǰ¾ÙÐÐ¼à¿Ø¡£Á¬ÏµNginxµÄÈÕÖ¾ÆÊÎö»òµÚÈý·½¼à¿Ø¹¤¾ß£¬ÊµÊ±¼à²â¹ýʧ±¬·¢ÆµÂÊ¡£Ò»µ©Ä³¸ö·¾¶ÆµÈÔ·µ»Ø¹ýʧ£¬¿ÉÒÔ´¥·¢×Ô¶¯ÐÞ¸´¾ç±¾£¬Í¨ÖªÔËά£¬ÉõÖÁ×Ô¶¯ÖØÆôЧÀÍ¡£
»¹¿ÉÒÔÁ¬Ïµ¡°tryfiles¡±Ö¸ÁÌáǰ¼ì²âÇëÇóµÄÎļþÊÇ·ñ±£´æ£¬ïÔ̹ýʧµÄ±¬·¢¡£
try_files$uri/fallback.html;
ÕâÖÖ×ö·¨ÔÚ¾²Ì¬×ÊÔ´¸»ºñµÄ´óÐÍÕ¾µãÖÐÌØÊâÓÐÓ㬲»µ«ïÔÌÁ˹ýÊ§Ò³ÃæµÄ·ºÆð£¬Ò²ÌáÉýÁËÕûÌåµÄ»á¼ûÌåÑé¡£
Îå¡¢°¸ÀýÆÊÎö£º´òÔìһվʽ¹ýʧ´¦Öóͷ£¼Æ»®ÒÔijµçÉÌÆ½Ì¨ÎªÀý£¬ËûÃÇÁ¬Ïµ¡°error_page¡±ºÍ¶¯Ì¬ºó¶ËÂß¼£¬×ö³öÁËרÊôµÄ¹ýʧ´¦Öóͷ£¼Æ»®¡£ÔÚ404Ò³ÃæÖмÓÈëÁËËÑË÷¿ò¡¢ÈÈÂôÍÆ¼ö¼°¿Í·þÈë¿Ú£¬ÊµÊ±²¶»ñÓû§ÐèÇó¡£¹ØÓÚ500ϵÁйýʧ£¬ËûÃÇ»á×Ô¶¯Í¨ÖªÊÖÒÕÍŶӣ¬Í¬Ê±ÌṩÓѺõÄÊÖÒÕÖ§³ÖÌáÐÑ¡£
ͨ¹ýºÏÀíÉèÖá°error_page¡±£¬ÅäºÏ¼à¿Ø¹¤¾ß£¬È·±£Ã¿´Î¹ÊÕ϶¼ÄÜ¿ìËÙ¶¨Î»ºÍÐÞ¸´£¬×îÖÕʵÏÖÁËÍøÕ¾Ò»Á¬¸ßЧÔËÐкÍÓû§Öª×ã¶ÈµÄÎȲ½ÌáÉý¡£
×ܽáÉèÖá°error_page¡±ÔÚNginxÖп´ËƼòÆÓ£¬È´Òþ²ØÁËÖØ´óµÄDZÁ¦¡£´Ó»ù±¾µÄ¹ýÊ§Ìø×ª£¬µ½Á¬Ïµ¶¯Ì¬ÄÚÈÝ¡¢»º´æÓÅ»¯£¬ÔÙµ½ÖÇÄÜ¼à¿Ø£¬Ã¿Ò»²½¶¼ÊÇ´òÔì¸ß¿ÉÓÃÍøÕ¾µÄÖ÷Òª¹¦·ò¡£Ñ§»áÎÞаÔËÓã¬Ã÷È·Á¬ÏµÏÖʵÐèÇóÉè¼Æ¼Æ»®£¬²Å»ªÈÃÄãµÄЧÀÍÆ÷ÔÚÃæÁÙÖÖÖÖÍ»·¢×´Ì¬Ê±£¬ÏñÕ½³¡ÉϵÄսʿһÑù£¬ÎÈÈç̩ɽ¡£
ÏëÏóһϣ¬Î´À´ÄãµÄÕ¾µãÔÚ·ºÆð¹ýʧʱ£¬²»µ«ÄÜÓÅÑÅÓ¦¶Ô£¬»¹Äܽè´Ëʱ»úËÜÔìÆ·ÅÆÐÎÏó¡¢ÔöÇ¿Óû§Õ³ÐÔ¡ª¡ªÕ⣬¾ÍÊÇ¡°errorpage¡±Óë¡°ngxhttpcoremodule¡±ÁªºÏ´øÀ´µÄħÁ¦¡£Ò»Ö±ÊµÑé¡¢Ò»Ö±ÓÅ»¯£¬ÈÃÄã³ÉÎªÍøÕ¾Î¬»¤µÄÕæÕýÄÜÊÖ¡£