apache ¸¦ À¥¼¹ö·Î »ç¿ëÇÑ´Ù¸é, rewrite rule À» »ç¿ëÇÏ°í Àְųª, »ç¿ëÇغÃÀ» °ÍÀÌ´Ù.
ºí·Î±× Åø·Î ¸¹ÀÌ ¾²´Â Å×ÅÍÅøÁîµµ rewrite rule À» »ç¿ëÇÏ°í ÀÖ´Ù.
¿ä±Ù·¡¿¡´Â Fancy URL À̶ó°í ÇÏ¿©, URL ÀÌ º¹ÀâÇÏ°Ô µÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ ¸¹ÀÌ ¾²ÀÌ´Â ÆíÀÌ´Ù.
Å©°Ô rewrite rule ÀÌ Àû¿ëµÇ´Â °ÍÀ» »ìÆ캸¸é,
1. ¸ðµâ·Îµù ( rewrite ¸ðµâÀ» apache °¡ ÀоîµéÀ̵µ·Ï ÇÑ´Ù.)
2. apache ¼³Á¤ ( virtual host )
3. .htaccess ¼³Á¤
À¸·Î º¼ ¼ö ÀÖ´Ù.
1. Rewrite ¸ðµâ·Îµù
¹èÆ÷ÆÇ ¸¶´Ù apache ¼³Á¤ ÆÄÀÏÀÇ À§Ä¡°¡ ´Ù¸£±ä ÇÏÁö¸¸, ´ÙÀ½°ú °°Àº Ç׸ñÀ» Æ÷ÇÔÇÑ´Ù.
(ubuntu / debian °è¿Àº /etc/apache2/mods-enabled ¿¡ ¼³Á¤ÇÑ´Ù.)
¸ðµâ ¼³Á¤ Ç׸ñÀº
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
¿Í °°Àº Ç׸ñÀÌ´Ù.
2. apache conf ¼³Á¤
º¸Åë ÀϹÝÀûÀÎ ¼³Á¤ÀÌ´Ù.(Virtual Host »ç¿ë)
ServerAdmin webmaster@yourdomain.co.kr
DocumentRoot /user/yourdomain.co.kr/
ServerName yourdomain.co.kr
ServerAlias www.yourdomain.co.kr
ErrorLog logs/yourdomain.co.kr-error_log
CustomLog logs/yourdomain.co.kr-access_log combined
À̶§ Rewrite rule À» Virtual host Ç׸ñ¿¡ Á÷Á¢ ½á ³ÖÀ» ¼ö ÀÖ´Ù.
±×·¯³ª, º¸Åë ´ÙÀ½¿¡ À̾߱âÇÒ .htaccess ÆÄÀÏÀ» »ç¿ëÇÑ´Ù.(ÅÂÅÍÅøÁîµµ ÀÌ ¹æ¹ýÀ» »ç¿ë)
3. .htaccess ¿¡ rule ¼³Á¤
¼³Á¤ÇÏ·Á´Â µµ¸ÞÀÎÀÇ DocumentRoot ¿¡ .htaccess ÆÄÀÏÀ» ¸¸µé°í rule À» ¼³Á¤ÇÑ´Ù.
(À§ÀÇ ¿¹¿¡¼´Â /user/yourdomain.co.kr/.htaccess °¡ µÇ°Ú´Ù)
ÈçÈ÷ »ç¿ëÇÏ´Â rule Çϳª¸¦ ¿¹¸¦ µé¸é..
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} /demo/([a-z0-9_-]+)$
RewriteRule demo/(.*) /demo/index.php?key=$1 [R,L]
yourdomain.co.kr/demo/keyname Çü½ÄÀ¸·Î Á¢¼ÓÇϸé,
yourdomain.co.kr/demo/index.php?key=keyname À¸·Î rewrite ÇØÁÖ´Â rule ÀÌ´Ù.
º¸Åë ProcessFile?key=aaa&key2=bbb ó·³ URL ÀÌ º¹ÀâÇØÁö´Â °ÍÀ» ÁÙÀÌ´Â ¿ëµµ·Î »ç¿ëÇÑ´Ù.
# À̶§ .htaccess ÆÄÀÏÀ» ¼³Á¤Çߴµ¥, Rule ÀÌ ÀÛµ¿ÇÏÁö ¾Ê´Â °æ¿ì
¾Ë¾Æ µÎ¾î¾ß ÇÒ °ÍÀº .htaccess ÆÄÀÏÀ» »ç¿ëÇÏ·Á¸é,
AllowOverride Ç׸ñÀÌ 'None' ÀÌ»ó(?)À̾î¾ß ÇÑ´Ù.(À̺κÐÀº È®ÀÎÇÊ¿ä)
À̰͵µ ¹èÆ÷ÆÇ ¸¶´Ù ´Ù¸¦ °ÍÀÌ´Ù.
ubuntu ÀÎ °æ¿ì
°¡ AllowOverride none À¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù.
µû¶ó¼ .htaccess ¸¦ »ç¿ëÇϱâ À§Çؼ´Â À§ÀÇ Virtual Host ¼³Á¤ÅÇ »çÀÌ¿¡ ´ÙÀ½Ã³·³ Ãß°¡ÇÑ´Ù.
AllowOverride all
ÀÚ¼¼ÇÑ ¿É¼ÇÀº ´ÙÀ½À» ÂüÁ¶ÇÑ´Ù .
Ȥ½Ã Rewrite Rule À» ¼³Á¤ÇÒ¶§, .htaccess ¿¡ ÀÖ´Â ¼³Á¤ÀÌ Àû¿ëµÇÁö ¾Ê´Â´Ù¸é, À§ ºÎºÐÀ» È®ÀÎÇØ º»´Ù.
»çÀÌ¿¡ .htaccess ¿¡ ¼³Á¤µÈ Rule À» Á÷Á¢ ÀÔ·ÂÇÏ¸é µÇ´Âµ¥,
.htaccess ·Î ÇÏ´Â °æ¿ì ¾ÈµÈ´Ù¸é À§ÀÇ ¹®Á¦ÀÏ °¡´É¼ºÀÌ ¸¹´Ù.
À§ AllowOverride ¼³Á¤À» ¸Ç »óÀ§µð·ºÅ丮(/user ³ª /)¿¡ ¼³Á¤À» Çصµ µÇÁö¸¸,
±×·±°æ¿ì /user/.htaccess /user/otherdomain/.htaccess µîÀ» ¸ðµÎ ãÀ¸·Á Çϱ⠶§¹®¿¡ ¼ÓµµÀúÇÏ°¡ ÀÖÀ» ¼ö ÀÖ´Ù.
²À ÇÊ¿äÇÑ °æ¿ì¿¡ ÇØ´ç À§Ä¡¿¡¸¸ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ» µí ÇÏ´Ù.
# ÂüÁ¶
http://httpd.apache.org/docs/2.0/ko/howto/htaccess.html
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html