ÀÌ ¹®¼´Â ¿äûÀÇ URLÀ» °¡Áö°í ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô ¼ºñ½ºÇÒ ÆÄÀÏÀÇ ÆÄÀϽýºÅÛ»ó À§Ä¡¸¦ ã´ÂÁö ¼³¸íÇÑ´Ù.
¿äûÀ» ¹ÞÀº ¾ÆÆÄÄ¡´Â ¾î¶² ÆÄÀÏÀ» ¼ºñ½ºÇÒÁö °áÁ¤ÇϱâÀ§ÇØ
±âº»ÀûÀ¸·Î ¿äûÀÇ URL-°æ·Î(URL¿¡¼ È£½ºÆ®¸í°ú Æ÷Æ® µÚ¿¡
³ª¿À´Â ºÎºÐ)¸¦ ¼³Á¤ÆÄÀÏ¿¡¼ ÁöÁ¤ÇÑ
Á¾Á¾ ÆÄÀϽýºÅÛ¿¡¼ FollowSymLinks
³ª
SymLinksIfOwnerMatch
°¡ ÀÖ´Â °æ¿ì¿¡¸¸ ½Éº¼¸µÅ©¸¦
µû¶ó°£´Ù.
¶Ç,
URL http://www.example.com/docs/dir/file.html
˼
/var/web/dir/file.html
À» °¡Áö°í ¼ºñ½ºÇÑ´Ù.
ÁöÁ¤ÇÑ °æ·Î¿¡ ÀÖ´Â ¸ðµç ³»¿ëÀ» CGI ½ºÅ©¸³Æ®·Î Ãë±ÞÇÏ´Â °ÍÀ»
Á¦¿ÜÇÏ°í´Â
´Â http://example.com/~user/cgi-bin/script.cgi
·ÎÀÇ
¿äûÀ» °æ·Î /home/user/cgi-bin/script.cgi
·Î
´ëÀÀÇÏ°í, ÇØ´ç ÆÄÀÏÀ» CGI ½ºÅ©¸³Æ®·Î Ãë±ÞÇÑ´Ù.
À¯´Ð½º ½Ã½ºÅÛÀº ÀüÅëÀûÀ¸·Î ƯÁ¤ »ç¿ëÀÚ userÀÇ
Ȩµð·ºÅ丮¸¦ ~user/
·Î ÁöĪÇÑ´Ù.
º¸¾È»ó À¥¿¡¼ »ç¿ëÀÚ È¨µð·ºÅ丮·Î Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖÀ¸¸é
¾ÈµÈ´Ù. ±×·¡¼ Userdir public_html
À» »ç¿ëÇÏ°í
/home/user/
°¡ /etc/passwd
¿¡ ÁöÁ¤µÈ
»ç¿ëÀÚ È¨µð·ºÅ丮¶ó¸é, À§ÀÇ URLÀº ÆÄÀÏ
/home/user/public_html/file.html
¿¡ ´ëÀÀÇÑ´Ù.
¶Ç, Userdir
Áö½Ã¾î´Â /etc/passwd
¿¡
Ȩµð·ºÅ丮ÀÇ À§Ä¡°¡ ÀúÀåµÇÁö¾Ê´Â ½Ã½ºÅÛÀ» À§ÇØ ¿©·¯ ´Ù¸¥
ÇüŸ¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¾î¶² »ç¶÷Àº (º¸Åë À¥¿¡¼ %7e
·Î ÀÎÄÚµùµÇ´Â)
"~" ±âÈ£°¡ ÀÌ»óÇÏ¿© ´Ù¸¥ ¹æ½ÄÀ¸·Î »ç¿ëÀÚ µð·ºÅ丮¸¦ ³ªÅ¸³»°í
½Í¾îÇÑ´Ù. ÀÌ ±â´ÉÀº mod_userdirÀÌ Á¦°øÇÏÁö¾Ê´Â´Ù. ±×·¯³ª
»ç¿ëÀÚ È¨µð·ºÅ丮°¡ ±ÔÄ¢ÀûÀÎ ¹æ¹ýÀ¸·Î ±¸¼ºµÇÀÖ´Ù¸é, AliasMatch
Áö½Ã¾î¸¦ »ç¿ëÇϸé
http://www.example.com/upages/user/file.html
ÀÌ
/home/user/public_html/file.html
¿¡ ´ëÀÀÇÑ´Ù:
¾Õ¿¡¼ ¼³¸íÇÑ ¼³Á¤ Áö½Ã¾îµéÀº ¾ÆÆÄÄ¡°¡ ÆÄÀϽýºÅÛÀÇ Æ¯Á¤
Àå¼Ò¿¡ ÀÖ´Â ³»¿ëÀ» Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»°Ô ¸¸µç´Ù. ±×·¯³ª
¶§¶§·Î ¿äûÇÑ ³»¿ëÀÌ ´Ù¸¥ URL¿¡ ÀÖ´Ù°í Ŭ¶óÀ̾ðÆ®¿¡°Ô ¾Ë·ÁÁÖ¾î,
Ŭ¶óÀ̾ðÆ®°¡ »õ·Î ±× URLÀ» ¿äûÇϵµ·Ï ¸¸µå´Â °ÍÀÌ ÁÁÀ» ¶§°¡
ÀÖ´Ù. À̸¦ ¸®´ÙÀÌ·º¼Ç(redirection)À̶ó°í Çϸç,
/foo/
µð·ºÅ丮ÀÇ ³»¿ëÀ» »õ·Î /bar/
µð·ºÅ丮·Î ¿Å°å´Ù¸é
´ÙÀ½°ú °°ÀÌ Å¬¶óÀ̾ðÆ®°¡ »õ·Î¿î À§Ä¡¸¦ ¿äûÇϵµ·Ï ÇÑ´Ù:
±×·¯¸é www.example.com
¼¹öÀÇ /foo/
·Î
½ÃÀÛÇÏ´Â URL-°æ·Î´Â /foo/
¸¦ /bar/
·Î
¹Ù²Û URL·Î ¸®´ÙÀÌ·º¼ÇµÈ´Ù. Ŭ¶óÀ̾ðÆ®¸¦ ¿ø·¡ ¼¹ö¿Ü¿¡ ¾î¶²
´Ù¸¥ ¼¹ö·Îµµ ¸®´ÙÀÌ·º¼ÇÇÒ ¼ö ÀÖ´Ù.
¶Ç, ¾ÆÆÄÄ¡´Â ´õ º¹ÀâÇÑ ÀçÀÛ¼º ¹®Á¦¸¦ À§ÇØ
Àӽ÷Π»çÀÌÆ®ÀÇ ¸ðµç ÆäÀÌÁö¸¦ ´Ù¸¥ »çÀÌÆ®ÀÇ Æ¯Á¤ ÆäÀÌÁö·Î ¸®´ÙÀÌ·º¼ÇÇÏ·Á¸é:
¾ÆÆÄÄ¡´Â ´Ù¸¥ ¼¹ö¿¡ ÀÖ´Â ¹®¼¸¦ ¼¹öÀÇ URL °ø°£À¸·Î °¡Á®¿Ã ¼ö ÀÖ´Ù. ÀÌ °æ¿ì À¥¼¹ö°¡ ¿ø°Ý ¼¹ö¿¡¼ ¹®¼¸¦ °¡Á®¿Í¼ Ŭ¶óÀ̾ðÆ®¿¡°Ô Àü´ÞÇÏ´Â ÇÁ·Ï½Ã ¼¹ö¿Í °°ÀÌ µ¿ÀÛÇϱ⶧¹®¿¡ ÀÌ·± ¹æ¹ýÀ» ¿ªÇÁ·Ï½Ã(reverse proxying)¶ó°í ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ ÀÔÀå¿¡¼ ¿ªÇÁ·Ï½Ã ¼¹ö°¡ ¹®¼¸¦ º¸³»ÁÖ´Â °Íó·³ º¸À̹ǷΠÀÏ¹Ý ÇÁ·Ï½Ã¿Í´Â ´Ù¸£´Ù.
¾Æ·¡ ¼³Á¤¿¡¼ Ŭ¶óÀ̾ðÆ®°¡ /foo/
¿¡ ÀÖ´Â ¹®¼¸¦
¿äûÇϸé, ¼¹ö´Â internal.example.com
ÀÇ
/bar/
µð·ºÅ丮¿¡¼ ¹®¼¸¦ °¡Á®¿Í¼ ¹®¼°¡ ¸¶Ä¡
¼¹ö¿¡ ÀÖ¾ú´ø °Íó·³ Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³½´Ù.
internal.example.com
ÀÌ º¸³»´Â ¸®´ÙÀÌ·º¼ÇÀ» ÀçÀÛ¼ºÇÏ¿©
¸®´ÙÀÌ·º¼ÇÀÌ ÇöÀç ¼¹öÀÇ ÀûÀýÇÑ µð·ºÅ丮¸¦ °¡¸®Å°µµ·Ï ÇÑ´Ù.
¶Ç,
±×·¯³ª ¹®¼ ¾È¿¡ ÀÖ´Â ¸µÅ©´Â ÀçÀÛ¼ºÇÏÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó.
internal.example.com
¿¡ ´ëÇÑ Àý´ë¸µÅ©´Â Ŭ¶óÀ̾ðÆ®°¡
ÇÁ·Ï½Ã¼¹ö°¡ ¾Æ´Ï¶ó internal.example.com
À¸·Î Á÷Á¢
¿äûÇÏ°Ô ÇÑ´Ù. Á¦»ïÀÚ°¡ ¸¸µç mod_proxy_html
¸ðµâÀ» »ç¿ëÇÏ¿© HTML°ú XHTML¿¡ ÀÖ´Â ¸µÅ©¸¦ ÀçÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
´õ °·ÂÇÑ Ä¡È¯ÀÌ ÇÊ¿äÇÒ¶§
°á±¹ ¿äûÇÑ URL¿¡ ´ëÀÀÇÏ´Â ÆÄÀÏÀ» ÆÄÀϽýºÅÛ¿¡¼ ãÁö ¸øÇÑ °æ¿ìÀÌ´Ù. ¿©·¯ °¡Áö ÀÌÀ¯°¡ ÀÖ´Ù. ¾î¶² °æ¿ì ¹®¼¸¦ ´Ù¸¥ °÷À¸·Î ¿Å°å±â ¶§¹®ÀÏ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì Ŭ¶óÀ̾ðÆ®¿¡°Ô URL ¸®´ÙÀÌ·º¼ÇÀ¸·Î ÀÚ¿øÀÇ »õ·Î¿î À§Ä¡¸¦ ¾Ë·ÁÁÖ´Â ¹æ¹ýÀÌ Á¦ÀÏ ÁÁ´Ù. ±×·¯¸é ÀÚ¿øÀ» ¿Å°Üµµ ¿À·¡µÈ ºÏ¸¶Å©³ª ¸µÅ©°¡ °è¼Ó À¯È¿ÇÏ´Ù.
"File Not Found" ¿À·ùÀÇ ´Ù¸¥ ÀϹÝÀûÀÎ ¿øÀÎÀº ºê¶ó¿ìÀú¿¡
Á÷Á¢ ȤÀº HTML ¸µÅ©¿¡ URLÀÌ À߸ø ÀÔ·ÂµÈ °æ¿ìÀÌ´Ù. ¾ÆÆÄÄ¡´Â
mod_spelingÀÇ Æ¯È÷ À¯¿ëÇÑ ÀåÁ¡Àº ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í ÆÄÀϸíÀ» ºñ±³ÇÏ´Â ±â´ÉÀÌ´Ù. ±×·¡¼ À¯´Ð½º ÆÄÀϽýºÅÛ°ú URLÀÇ ´ë¼Ò¹®ÀÚ ¼ºÁúÀ» ¾ËÁö¸øÇÏ´Â »ç¿ëÀÚ°¡ ÀÖ´Â ½Ã½ºÅÛ¿¡ µµ¿òÀÌ µÈ´Ù. ±×·¯³ª mod_spelingÀÌ ÀÚÁÖ URLÀ» °íÃľßÇÑ´Ù¸é, "À߸øµÈ" ¿äû¶§¸¶´Ù URL ¸®´ÙÀÌ·º¼Ç°ú Ŭ¶óÀ̾ðÆ®ÀÇ »õ·Î¿î ¿äûÀÌ ÀϾ¹Ç·Î ¼¹ö¿¡ ºÎ´ãÀÌ µÈ´Ù.
ã´Â ½Ãµµ°¡ ¸ðµÎ ½ÇÆÐÇÏ¸é ¾ÆÆÄÄ¡´Â HTTP status code 404
(file not found) ¿À·ùÆäÀÌÁö¸¦ º¸³½´Ù. ÀÌ ÆäÀÌÁöÀÇ ³»¿ëÀº