Apache HTTP Server Version 2.3
À¥¸¶½ºÅÍ´Â ¿À·ù³ª ¹®Á¦°¡ ¹ß»ýÇßÀ»¶§ ¾ÆÆÄÄ¡ÀÇ ÀÀ´äÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
¼¹ö°¡ ¿À·ù³ª ¹®Á¦¸¦ ¹ß°ßÇßÀ»¶§ º¸³¾ »ç¿ëÀÚÁ¤ÀÇ ÀÀ´äÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
½ºÅ©¸³Æ®°¡ Á×Àº °æ¿ì "500 Server Error" ÀÀ´ä ´ë½Å »ç¿ëÀÚ¿¡°Ô ´õ Ä£±ÙÇÑ ¹®±¸¸¦ »ç¿ëÇϰųª ´Ù¸¥ (°°Àº »çÀÌÆ®³ª ¿ÜºÎ »çÀÌÆ®ÀÇ) URL·Î ¸®´ÙÀÌ·º¼ÇÀ» ÇÒ ¼ö ÀÖ´Ù.
NCSA httpd 1.3Àº »ç¿ëÀÚ¿¡°Ô ¹«ÀǹÌÇÏ°í Áö·çÇÑ ¿À·ù¹®À» º¸³Â´Ù. ¹®Á¦°¡ ¹ß»ýÇÑ ÀÌÀ¯¸¦ ·Î±×¿¡ ³²±æ ¼öµµ ¾ø¾ú´Ù.
¼¹ö´Â ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù:
´Ù¸¥ »çÀÌÆ®ÀÇ URL·Î ¸®´ÙÀÌ·º¼ÇÇÏ´Â °ÍÀÌ À¯¿ëÇÒ ¼ö ÀÖÁö¸¸, ÀÌ °æ¿ì ¹®Á¦¸¦ ¼³¸íÇϰųª ·Î±×Çϴµ¥ ÇÊ¿äÇÑ Á¤º¸Áß ÀϺθ¸ Àü´ÞµÈ´Ù.
¿À·ù¿¡ ´ëÇÑ Á¤º¸¸¦ Àü´ÞÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â CGI½ÄÀÇ »õ·Î¿î ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÑ´Ù:
REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
image/jpeg
REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05
9000/712)
REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
REDIRECT_QUERY_STRING=
REDIRECT_REMOTE_ADDR=121.345.78.123
REDIRECT_REMOTE_HOST=ooh.ahhh.com
REDIRECT_SERVER_NAME=crash.bang.edu
REDIRECT_SERVER_PORT=80
REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
REDIRECT_URL=/cgi-bin/buggy.pl
REDIRECT_
Á¢µÎ»ç¿¡ ÁÖ¸ñÇ϶ó.
ÃÖ¼ÒÇÑ REDIRECT_URL
°ú
REDIRECT_QUERY_STRING
Àº (cgi-script³ª
cgi-includeÀÏ) »õ URL·Î ³Ñ°ÜÁø´Ù. ´Ù¸¥ º¯¼ö´Â ¿À·ù°¡
¹ß»ýÇϱâ ÀÌÀü¿¡ (¿ªÁÖ; À̸§¿¡¼ REDIRECT_
¸¦
»« ȯ°æº¯¼ö°¡) Á¸ÀçÇÑ °æ¿ì¿¡¸¸ ÀÖ´Ù.
ErrorDocument
°¡
¿ÜºÎ·Î (°°Àº ¼¹ö¶óµµ http:
¿Í
°°Àº ½ºÅ´(scheme)À¸·Î ½ÃÀÛÇÑ´Ù¸é) ¸®´ÙÀÌ·º¼ÇÇÑ´Ù¸é
ÀÌÁß ¾î¶² °Íµµ ¼³Á¤µÇÁö ¾Ê´Â´Ù.
AllowOverride
°¡
ÀûÀýÈ÷ ¼³Á¤µÇ¾ú´Ù¸é .htaccess ÆÄÀÏ¿¡¼
ErrorDocument
¸¦ »ç¿ëÇÒ
¼ö ÀÖ´Ù.
´ÙÀ½Àº ¿¹ÀÌ´Ù...
ErrorDocument 500 /cgi-bin/crash-recover
ErrorDocument 500 "Sorry, our script crashed. Oh dear"
ErrorDocument 500 http://xxx/
ErrorDocument 404 /Lame_excuses/not_found.html
ErrorDocument 401 /Subscription/how_to_subscribe.html
¹®¹ýÀº,
ErrorDocument <3-digit-code> <action>
°¡´ÉÇÑ actionÀº,
URL·Î ¸®´ÙÀÌ·º¼ÇÇÏ´Â ¾ÆÆÄÄ¡ ÇൿÀº ½ºÅ©¸³Æ®/server-include¿¡ ȯ°æº¯¼ö¸¦ ´õ ³Ñ°ÜÁÖµµ·Ï º¯°æµÇ¾ú´Ù.
¸®´ÙÀÌ·º¼ÇµÇ´Â ½ºÅ©¸³Æ®¿¡ Ç¥ÁØ CGI º¯¼öµéÀÌ ³Ñ¾î°£´Ù. ¾îµð¿¡¼ ¸®´ÙÀÌ·º¼ÇÀÌ ÀϾ´ÂÁö ¾Ë ¼ö ¾ø´Ù.
¸®´ÙÀÌ·º¼ÇµÈ ½ºÅ©¸³Æ®´Â »õ·Î¿î ȯ°æº¯¼öµéÀ» »ç¿ëÇÒ
¼ö ÀÖ´Ù. ¸ðµÎ ¾Õ¿¡ REDIRECT_
°¡ ºÙ¾îÀÖ´Ù.
REDIRECT_
ȯ°æº¯¼ö´Â ¿ø·¡ CGI ȯ°æº¯¼ö¸í
¾Õ¿¡ REDIRECT_
¸¦ ºÙ¿©¼ ¸¸µç´Ù. ¿¹¸¦
µé¾î, HTTP_USER_AGENT
´Â
REDIRECT_HTTP_USER_AGENT
°¡ µÇ¾ú´Ù. ÀÌ·± º¯¼ö¿¡
Ãß°¡·Î ½ºÅ©¸³Æ®°¡ ¿ø·¡ URLÀ» ¾Ëµµ·Ï ¾ÆÆÄÄ¡´Â
REDIRECT_URL
°ú REDIRECT_STATUS
¸¦
Á¤ÀÇÇÑ´Ù. ¿ø·¡ URL°ú ¸®´ÙÀÌ·º¼ÇµÈ URL ¸ðµÎ Á¢±Ù ·Î±×¿¡
±â·ÏÇÒ ¼ö ÀÖ´Ù.
ErrorDocument°¡ °°Àº ¼¹ö¿¡ ÀÖ´Â CGI ½ºÅ©¸³Æ®·Î
¸®´ÙÀÌ·º¼ÇÇÑ´Ù¸é, ½ºÅ©¸³Æ®´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¿À·ù »óȲÀ»
È®½ÇÈ÷ Àü´ÞÇϱâÀ§ÇØ Ãâ·Â¿¡ "Status:
" Çì´õ
Çʵ带 Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, Perl·Î ÀÛ¼ºÇÑ ErrorDocument
½ºÅ©¸³Æ®´Â ´ÙÀ½°ú °°´Ù:
...
print "Content-type: text/html\n";
printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
...
404 Not Found
¿Í °°Àº ƯÁ¤ ¿À·ù
»óȲ¿¡ ´ëÇÑ ½ºÅ©¸³Æ®¶ó¸é, ´ë½Å (¿ªÁÖ; °íÁ¤µÈ)
ƯÁ¤ »óÅÂÄÚµå¿Í ¿À·ù¹®À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
(Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀ» ¿äûÇϱâÀ§ÇØ) ÀÀ´ä¿¡
Location:
Çì´õ¸¦ Æ÷ÇÔÇÑ´Ù¸é, ½ºÅ©¸³Æ®´Â
¹Ýµå½Ã (302 Found
°°Àº) ÀûÀýÇÑ
Status:
Çì´õ¸¦ Ãâ·ÂÇØ¾ß ÇÔÀ» ÁÖÀÇÇ϶ó. ±×·¸Áö¾ÊÀ¸¸é
Location:
Çì´õ°¡ ¾Æ¹« ¼Ò¿ë¾ø°Ô µÉ ¼ö ÀÖ´Ù.