How-To / Tutorials ¾ÆÆÄÄ¡ ÅõÅ丮¾ó: .htaccess ÆÄÀÏ

.htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¿© µð·ºÅ丮º°·Î ¼³Á¤À» º¯°æÇÒ ¼ö ÀÖ´Ù.

¹«¾ùÀ̸ç/¾î¶»°Ô »ç¿ëÇϴ°¡

.htaccess ÆÄÀÏ(ȤÀº "ºÐ»ê ¼³Á¤ÆÄÀÏ")À» »ç¿ëÇÏ¸é µð·ºÅ丮º°·Î ¼³Á¤À» º¯°æÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¼³Á¤ Áö½Ã¾î°¡ ÀÖ´Â ÆÄÀÏÀ» ƯÁ¤ ¹®¼­ µð·ºÅ丮¿¡ µÎ¸é, ±× µð·ºÅ丮¿Í ¸ðµç ÇÏÀ§µð·ºÅ丮¿¡ Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù.

ÁÖÀÇ:

.htaccess ÆÄÀϸíÀ» ´Ù¸£°Ô »ç¿ëÇÏ°í ½Í´Ù¸é, AccessFileName Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© º¯°æÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, .config ÆÄÀϸíÀ» »ç¿ëÇÏ·Á¸é ¼­¹ö ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇÑ´Ù.

AccessFileName .config

ÀϹÝÀûÀ¸·Î .htaccess ÆÄÀÏÀº ÁÖ¼³Á¤ÆÄÀÏ°ú ¹®¹ýÀÌ °°´Ù. AllowOverride Áö½Ã¾î°¡ ÀÌ ÆÄÀÏ¿¡ ³ª¿Ã ¼ö ÀÖ´Â ³»¿ëÀ» °áÁ¤ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â .htaccess ÆÄÀÏ¿¡¼­ Çã¿ëÇÏ´Â Áö½Ã¾î ºÐ·ù¸¦ ÁöÁ¤ÇÑ´Ù. Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù¸é, ÇØ´ç Áö½Ã¾î ¹®¼­ÀÇ Override Ç׸ñÀº Áö½Ã¾î¸¦ Çã¿ëÇϱâÀ§ÇØ AllowOverride¿¡ »ç¿ëÇÒ °ªÀ» ¾Ë·ÁÁØ´Ù.

¿¹¸¦ µé¾î, AddDefaultCharset Áö½Ã¾î ¹®¼­¸¦ º¸¸é ÀÌ Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. (Áö½Ã¾î ¿ä¾à¿¡¼­ »ç¿ëÀå¼Ò Ç׸ñÀ» º¸¶ó.) Override ÁÙ¿¡ FileInfo°¡ ÀÖ´Ù. ±×·¡¼­ ÀÌ Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇϱâÀ§Çؼ­´Â ÃÖ¼ÒÇÑ AllowOverride FileInfo°¡ ÇÊ¿äÇÏ´Ù.

¿¹Á¦:
»ç¿ëÀå¼Ò: ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override: FileInfo

ƯÁ¤ Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö ±Ã±ÝÇϸé Áö½Ã¾î ¹®¼­ÀÇ »ç¿ëÀå¼Ò Ç׸ñ¿¡ ".htaccess"°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.

¾ðÁ¦ .htaccess ÆÄÀÏÀ» »ç¿ëÇϳª (ȤÀº »ç¿ëÇÏÁö ¾Ê³ª)

ÀϹÝÀûÀ¸·Î ÁÖ¼­¹öÆÄÀÏ¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ¾Æ´Ï¶ó¸é .htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. ¿¹¸¦ µé¾î, »ç¿ëÀÚ ÀÎÁõÀÌ Ç×»ó .htaccess ÆÄÀÏ¿¡ ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀº À߸ø ¾Ë·ÁÁø ¿ÀÇØ´Ù. ÀÌ´Â »ç½ÇÀÌ ¾Æ´Ï´Ù. ÁÖ¼­¹ö¼³Á¤¿¡ »ç¿ëÀÚ ÀÎÁõ ¼³Á¤À» ÀûÀ» ¼ö ÀÖ°í, »ç½Ç ÀÌ·¯±æ ±ÇÇÑ´Ù.

.htaccess ÆÄÀÏÀº ÄÁÅÙÃ÷ Á¦°øÀÚ°¡ µð·ºÅ丮º°·Î ¼­¹ö ¼³Á¤À» ´Ù¸£°ÔÇÏ°í ½ÍÁö¸¸ ¼­¹ö ½Ã½ºÅÛ¿¡ root ±ÇÇÑÀÌ ¾ø´Â °æ¿ì¿¡ »ç¿ëÇÑ´Ù. ¼­¹ö °ü¸®ÀÚ°¡ ¼³Á¤À» ÀÚÁÖ º¯°æÇÏ°í ½ÍÁö ¾ÊÀº °æ¿ì ÀÏ¹Ý »ç¿ëÀÚ°¡ Á÷Á¢ .htaccess ÆÄÀÏÀ» ¼öÁ¤Çϵµ·Ï Çã¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ¿¹¸¦ µé¾î, ÇÑ ÄÄÇ»ÅÍ¿¡ ¿©·¯ »ç¿ëÀÚ »çÀÌÆ®¸¦ ¼­ºñ½ºÇÏ´Â ISP¿¡¼­ »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ ¼³Á¤À» º¯°æÇÏ°í ½ÍÀº °æ¿ì°¡ ±×·¯ÇÏ´Ù.

±×·¯³ª ÀϹÝÀûÀ¸·Î .htaccess ÆÄÀÏÀº °¡±ÞÀû ÇÇÇØ¾ß ÇÑ´Ù. .htaccess ÆÄÀÏ¿¡¼­ Çã¿ëÇÏ´Â Áö½Ã¾î´Â ÁÖ¼³Á¤ÆÄÀÏÀÇ Directory ¼½¼Ç°ú °°Àº È¿°ú°¡ ÀÖ´Ù.

´ÙÀ½ µÎ°¡Áö Å« ÀÌÀ¯¶§¹®¿¡ .htaccess ÆÄÀÏ »ç¿ëÀ» ÇÇÇØ¾ß ÇÑ´Ù.

ù¹ø°´Â ¼º´ÉÀÌ´Ù. AllowOverride°¡ .htaccess ÆÄÀÏÀ» »ç¿ëÇϵµ·Ï Çã¿ëÇϸé, ¾ÆÆÄÄ¡´Â µð·ºÅ丮¸¶´Ù .htaccess ÆÄÀÏÀ» ã´Â´Ù. ±×·¡¼­ .htaccess ÆÄÀÏÀ» Çã¿ëÇÏ¸é ½ÇÁ¦·Î ÆÄÀÏÀ» »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì¿¡µµ ¼º´ÉÀÌ ¶³¾îÁø´Ù! ¶Ç, .htaccess ÆÄÀÏÀº ¹®¼­¸¦ ¿äûÇÒ¶§¸¶´Ù ÀоîµéÀδÙ.

°Ô´Ù°¡ Àû¿ëÇØ¾ß ÇÏ´Â Àüü Áö½Ã¾î¸¦ ¸ðÀ¸±âÀ§ÇØ ¾ÆÆÄÄ¡´Â ¸ðµç »óÀ§ µð·ºÅ丮¿¡¼­ .htaccess ÆÄÀÏÀ» ã´Â´Ù. (¾î¶»°Ô Áö½Ã¾î¸¦ Àû¿ëÇϳª ÀýÀ» Âü°í.) ±×·¡¼­ /www/htdocs/example µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀ» ¿äûÇϸé, ¾ÆÆÄÄ¡´Â ´ÙÀ½ ÆÄÀϵéÀ» ã¾Æ¾ß ÇÑ´Ù.

/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess

±×·¡¼­ ±× µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀ» Á¢±ÙÇÒ ¶§¸¶´Ù ¼³Á¤ÆÄÀÏÀÌ ÀüÇô ¾ø¾îµµ ÆÄÀϽýºÅÛÀ» 4¹ø ´õ Á¢±ÙÇØ¾ß ÇÑ´Ù. (/¿¡¼­µµ .htaccess ÆÄÀÏÀ» Çã¿ëÇÑ °æ¿ì¸¦ ¸»ÇÑ´Ù. º¸ÅëÀº Çã¿ëÇÏÁö ¾Ê´Â´Ù.)

µÎ¹ø° ÀÌÀ¯´Â º¸¾ÈÀÌ´Ù. »ç¿ëÀÚ¿¡°Ô ¼­¹ö¼³Á¤ º¯°æ ±ÇÇÑÀ» ÁÖ¸é ´ç½ÅÀÌ °¨´çÇÒ ¼ö ¾ø´Â º¯È­°¡ ÀϾ ¼ö ÀÖ´Ù. »ç¿ëÀÚ¿¡°Ô ÀÌ·± ±ÇÇÑÀ» ÁÙÁö °õ°õÀÌ »ý°¢Ç϶ó. ¶Ç, »ç¿ëÀÚ°¡ ¿øÇÏ´Â °Íº¸´Ù ÀûÀº ±ÇÇÑÀ» ÁÖ¸é ±â¼úÁö¿ø¿äûÀÌ µé¾î¿Â´Ù. »ç¿ëÀÚ¿¡°Ô °¡´ÉÇÑ ±ÇÇÑ ¼öÁØÀ» ¸íÈ®È÷ ¾Ë·Á¶ó. »ç¿ëÀÚ¿¡°Ô AllowOverride¸¦ ¾î¶»°Ô ¼³Á¤ÇÏ¿´´ÂÁö Á¤È®È÷ ¾Ë¸®°í °ü·Ã ¹®¼­¸¦ Á¦°øÇÏ¸é ¾ÕÀ¸·Î È¥¶õÀ» ÇÇÇÒ ¼ö ÀÖ´Ù.

Áö½Ã¾î¸¦ /www/htdocs/example µð·ºÅ丮ÀÇ .htaccess ÆÄÀÏÀ» µÎ´Â °Í°ú ÁÖ¼­¹ö¼³Á¤ÀÇ <Directory /www/htdocs/example> Directory ¼³Á¤¿¡ µÎ´Â °ÍÀº ¿ÏÀüÈ÷ °°´Ù.

/www/htdocs/example¿¡ ÀÖ´Â .htaccess ¼½¼Ç:

<code>/www/htdocs/example</code>¿¡ ÀÖ´Â .htaccess ÆÄÀÏ ³»¿ë AddType text/example .exm <code>httpd.conf</code> ÆÄÀÏ¿¡ ÀÖ´Â ¼½¼Ç <Directory /www/htdocs/example>
AddType text/example .exm
</Directory>

±×·¯³ª ÆÄÀÏÀ» ¿äûÇÒ ¶§¸¶´Ù ¼³Á¤À» ÀÐÁö¾Ê°í ¾ÆÆÄÄ¡°¡ ½ÃÀÛÇÒ¶§ Çѹø¸¸ ¼³Á¤À» Àб⶧¹®¿¡ °°Àº ¼³Á¤À» ¼­¹ö¼³Á¤ÆÄÀÏ¿¡ »ç¿ëÇÏ¸é ¼º´ÉÀÌ ´õ ºü¸£´Ù.

AllowOverride Áö½Ã¾î¸¦ noneÀ¸·Î ¼³Á¤Çϸé .htaccess ÆÄÀÏÀ» ¿ÏÀüÈ÷ »ç¿ëÇÒ ¼ö ¾ø´Ù.

AllowOverride None
¾î¶»°Ô Áö½Ã¾î¸¦ Àû¿ëÇϳª

.htaccess ÆÄÀÏÀ» ¹ß°ßÇÑ µð·ºÅ丮¿Í ±× µð·ºÅ丮ÀÇ ¸ðµç ÇÏÀ§µð·ºÅ丮¿¡ .htaccess ÆÄÀÏ¿¡ ÀÖ´Â ¼³Á¤ Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ±×·¡¼­ »óÀ§µð·ºÅ丮ÀÇ .htaccess ÆÄÀÏÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù. ¹ß°ßÇÑ ¼ø¼­·Î Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ƯÁ¤ µð·ºÅ丮¿¡ ÀÖ´Â .htaccess ÆÄÀÏÀº »óÀ§µð·ºÅ丮¿¡ ÀÖ´Â .htaccess ÆÄÀÏÀÇ Áö½Ã¾î¸¦ ¹«È¿·Î ¸¸µé ¼ö ÀÖ°í, »óÀ§µð·ºÅ丮¿¡ ÀÖ´Â Áö½Ã¾î´Â ´õ »óÀ§µð·ºÅ丮 ȤÀº ÁÖ¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î¸¦ ¹«È¿·Î ¸¸µé ¼ö ÀÖ´Ù.

¿¹Á¦:

/www/htdocs/example1 µð·ºÅ丮¿¡ ´ÙÀ½°ú °°Àº .htaccess ÆÄÀÏÀÌ ÀÖ´Ù.

Options +ExecCGI

(ÁÖÀÇ: .htaccess ÆÄÀÏ¿¡ "Options" Áö½Ã¾î¸¦ »ç¿ëÇÏ·Á¸é "AllowOverride Options"°¡ ÇÊ¿äÇÏ´Ù.)

/www/htdocs/example1/example2 µð·ºÅ丮¿¡´Â ´ÙÀ½°ú °°Àº .htaccess ÆÄÀÏÀÌ ÀÖ´Ù.

Options Includes

ÀÌ µÎ¹ø° .htaccess ÆÄÀÏÀÇ Options Includes°¡ ÀÌÀü ¼³Á¤À» ¿ÏÀüÈ÷ ¹«È¿·Î ¸¸µé±â¶§¹®¿¡ /www/htdocs/example1/example2 µð·ºÅ丮´Â CGI ½ÇÇàÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù.

ÀÎÁõ ¿¹Á¦

ÀÎÁõ ¹æ¹ýÀ» ¾Ë±âÀ§ÇØ ¹Ù·Î ÀÌ°÷ºÎÅÍ Àд´ٸé ÁÖÀÇÇÒ °ÍÀÌ ÀÖ´Ù. ¾ÏÈ£ ÀÎÁõÀ» ÇÏ·Á¸é .htaccess ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù´Â ¿ÀÇØ°¡ ³Î¸® ÆÛÁ®ÀÖ´Ù. ÀÌ´Â »ç½ÇÀÌ ¾Æ´Ï´Ù. ÁÖ¼³Á¤ÆÄÀÏÀÇ Directory ¼½¼Ç¿¡ ÀÎÁõ Áö½Ã¾î¸¦ µÎ´Â °ÍÀÌ ´õ ±ÇÀåÇÏ´Â ¹æ¹ýÀÌ°í, ¼­¹öÀÇ ÁÖ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡¸¸ .htaccess ÆÄÀÏÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ¾ðÁ¦ .htaccess ÆÄÀÏÀ» »ç¿ëÇØ¾ß ÇÏ´ÂÁö¿Í »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÏ´ÂÁö´Â À§¿¡¼­ ¼³¸íÇÏ¿´´Ù.

¾Õ¿¡¼­ ¸»ÇßÁö¸¸ ¾ÆÁ÷µµ .htaccess ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù°í »ý°¢µÇ¸é ¾Æ·¡ ¼³Á¤ÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

.htaccess ÆÄÀÏ ³»¿ë.

AuthType Basic
AuthName "Password Required"
AuthUserFile /www/passwords/password.file
AuthGroupFile /www/passwords/group.file
Require Group admins

ÀÌ Áö½Ã¾î°¡ µ¿ÀÛÇϱâÀ§Çؼ­´Â AllowOverride AuthConfig Áö½Ã¾î°¡ ÇÊ¿äÇÔÀ» ¸í½ÉÇ϶ó.

ÀÎÁõ°ú ±ÇÇѺο©¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ÀÎÁõ ÅõÅ丮¾óÀ» º¸±æ ¹Ù¶õ´Ù.

Server Side Includes ¿¹Á¦

¶Ç´Ù¸¥ ÀϹÝÀûÀÎ .htaccess ÆÄÀÏÀÇ ¿ëµµ´Â ƯÁ¤ µð·ºÅ丮¿¡¼­ Server Side Includes¸¦ °¡´ÉÇÏ°Ô ¸¸µå´Â °ÍÀÌ´Ù. ¿øÇÏ´Â µð·ºÅ丮ÀÇ .htaccess ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é µÈ´Ù.

Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml

ÀÌ Áö½Ã¾î°¡ µ¿ÀÛÇÏ·Á¸é AllowOverride Options¿Í AllowOverride FileInfo°¡ ¸ðµÎ ÇÊ¿äÇÔÀ» ¸í½ÉÇ϶ó.

server-side includes¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº SSI ÅõÅ丮¾óÀ» º¸±æ ¹Ù¶õ´Ù.

CGI ¿¹Á¦

¸¶Áö¸·À¸·Î .htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¿© ƯÁ¤ µð·ºÅ丮¿¡¼­ CGI ÇÁ·Î±×·¥ ½ÇÇàÀ» Çã¿ëÇÏ°í ½Í´Ù¸é, ´ÙÀ½°ú °°Àº ¼³Á¤À» »ç¿ëÇÑ´Ù.

Options +ExecCGI
AddHandler cgi-script cgi pl

ȤÀº ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏÀ» CGI ÇÁ·Î±×·¥À¸·Î ó¸®ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°Àº ¼³Á¤µµ °¡´ÉÇÏ´Ù.

Options +ExecCGI
SetHandler cgi-script

ÀÌ Áö½Ã¾î°¡ µ¿ÀÛÇÏ·Á¸é AllowOverride Options¿Í AllowOverride FileInfo°¡ ¸ðµÎ ÇÊ¿äÇÔÀ» ¸í½ÉÇ϶ó.

CGI ÇÁ·Î±×·¡¹Ö°ú ¼³Á¤¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº CGI ÅõÅ丮¾óÀ» º¸±æ ¹Ù¶õ´Ù.

¹®Á¦ÇØ°á

.htaccess ÆÄÀÏ¿¡ µÐ ¼³Á¤ Áö½Ã¾î°¡ ¿øÇÏ´Â ±â´ÉÀ» ÇÏÁö ¾Ê´Â °æ¿ì ¿©·¯°¡Áö ÀÌÀ¯°¡ ÀÖÀ» ¼ö ÀÖ´Ù.

°¡Àå ÀϹÝÀûÀÎ ¹®Á¦´Â ¼³Á¤ Áö½Ã¾î¸¦ °¡´ÉÇÏ°Ô ¸¸µå´Â AllowOverride¸¦ ¼³Á¤ÇÏÁö ¾ÊÀº °æ¿ì´Ù. ¹®Á¦°¡ µÇ´Â ÆÄÀÏ ¿µ¿ª¿¡ AllowOverride NoneÀÌ ¾ø´ÂÁö È®ÀÎÇÑ´Ù. .htaccess ÆÄÀÏÀ» ¾Æ¹«·¸°Ô³ª ÀûÀº ´ÙÀ½ ÆäÀÌÁö¸¦ ´Ù½Ã Á¢±ÙÇÏ¿© ½±°Ô °Ë»çÇغ¼ ¼ö ÀÖ´Ù. ¼­¹ö ¿À·ù°¡ ³ª¿ÀÁö ¾ÊÀ¸¸é °ÅÀÇ È®½ÇÈ÷ AllowOverride NoneÀ» »ç¿ëÇÑ °æ¿ì´Ù.

¹Ý´ë·Î ¹®¼­¿¡ Á¢±ÙÇÒ¶§ ¼­¹ö ¿À·ù°¡ ¹ß»ýÇÏ¸é ¾ÆÆÄÄ¡ ¿À·ù·Î±×¸¦ »ìÆìºÁ¶ó. ¾Æ¸¶µµ .htaccess ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î¸¦ Çã¿ëÇÏÁö ¾Ê´Â´Ù°í ÇÒ °ÍÀÌ´Ù. ¾Æ´Ï°í ¹®¹ý ¿À·ù°¡ ÀÖ´Ù¸é ¿À·ù¸¦ °íÄ£´Ù.