[mod_rewrite ¼³Ä¡ ¹æ¹ý ¹× ¹®Á¦ ÇØ°á]
1) Apache ¼³Ä¡½Ã mod_rewrite ¼³Ä¡ ¹æ¹ý
Apache ÄÄÆÄÀϽà ´Ù¸¥ ¿É¼Çµé°ú 깉ÀÌ "--enable-rewrite" ³Ö¾îµÎ¸é µÈ´Ù.
Ex)./configure ... Áß·« ... --enable-rewrite
Apache ÄÄÆÄÀÏ ¹æ¹ýÀº ´Ù¸¥ ¹®¼¸¦ Âü°í.
2) DSO¸¦ Ȱ¿ëÇÑ mod_rewrite ¼³Ä¡ ¹æ¹ý
¡Ø ÁÖÀÇ) °øÀ¯ ¸ðµâÀ» ³ªÁß¿¡ »ç¿ëÇϱâÀ§ÇØ ¾ÆÆÄÄ¡ ÄÄÆÄÀϽà "--enable-so"À» ±¸¼ºÇßÀ»¶§¸¸ °¡´ÉÇÏ´Ù.
È®ÀÎ ¹æ¹ýÀº PHPÇÔ¼öÁß 'phpinfo()'¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎ °¡´ÉÇÏ´Ù.
2.1) Apache ¼³Ä¡µÇ ½Ã½ºÅÛÀÇ ÇÑ ´Ü°è½Ä ¼öµ¿À¸·Î ¼³Ä¡ÇÏ´Â ¹æ¹ý
setp 2. mod_rewrite ¼³Ä¡ Áغñ 2
´Ù¿î¹ÞÀº ¼Ò½ºÀÇ ¾ÐÃàÀ» Ç®°í, ¾ÐÃàÀ» Ǭ µð·ºÅ丮ÀÇ mod_rewrite.c°¡ ÀÖ´Â °æ·Î À̵¿
Ex)
# tar -zxvf httpd-2.2.15.tar.gz
# cd httpd-2.2.15/modules/mappers
setp 3. mod_rewrite ¼³Ä¡ 1
¡Ø Apache °¡ ¼³Ä¡µÈ °æ·Î°¡ "/usr/local/apache/" ¶ó°í °¡Á¤ÇÏ°í ¾Æ·¡ ¼³¸í Âü°í
[obj ÆÄÀÏ »ý¼º]
# /usr/local/apache/bin/apxs -c mod_rewrite.c
[soÆÄÀÏ »ý¼º]
# gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm
[Apache µð·ºÅ丮¿¡ mod_rewrite.so ÆÄÀÏ º¹»ç]
# /usr/local/apache/bin/apxs -i mod_rewrite.so
¿Ï·áµÇ¸é /usr/local/apache/module µð·ºÅ丮¿¡ mod_rewrite.so ÆÄÀÏÀÌ »ý¼ºµÇ¾ú´ÂÁö È®ÀÎ ÇÑÈÄ ´ÙÀ½ ´Ü°è·Î ³Ñ¾î°¨.
¡Ø Âü°í
setp 3À» Á» °£´ÜÇÏ°Ô ÇÑÁٷΠó¸®ÇÒ·Á¸é
# /usr/local/apache/bin/apxs -aic mod_rewrite.c
À§ ¿Í °°ÀÌ ¼³Á¤Çؼ ÁøÇàÇÏ¸é µÈ´Ù. ÀÌ ¹æ¹ý¿¡ ¹®Á¦°¡ ÀÖ´Ù¸é À§ ÀÇ ¼øÂ÷Àû ´Ü°è¸¦ ÅëÇØ ¾îµð¿¡¼ ¹®Á¦°¡ ¹ß»ýÇÏ´ÂÁö Çϳª¾¿ Áø´ÜÇϸé ÁøÇàÇÑ´Ù.
setp 4. mod_rewrite ¼³Ä¡ 2 - ȯ°æ¼³Á¤
Apache ȯ°æ ¼³Á¤ÆÄÀÏ¿¡ mod_rewrite.so ¸ðµâ ¼³Á¤
Ex)
# vi /usr/local/apache/conf/httpd.conf
...
LoadModule rewrite_module modules/mod_rewrite.so
...
¡Ø step3ÀÇ ¸¶Á÷¸· ´Ü°è¿¡¼ ÀÚµ¿À¸·Î ÀÌ ¼³Á¤ÀÌ µé¾î°¨. Ȥ½Ã ¼³Á¤ÀÌ ºüÁ® ÀÖ´Ù¸é À§¿Í °°ÀÌ ¼³Á¤ÇÏ¸é µÊ.
setp 5. Apache¼³Á¤ÀÌ Á¤»óÀûÀÎÁö È®ÀÎ ÈÄ Apache ´Ù½Ã ½ÃÀÛ
[Apache ±¸µ¿ ½ºÅ©¸³Æ®¸¦ Ȱ¿ëÇÏ¿© È®ÀÎ]
Ex)
# /usr/local/apache/bin/apachectl -t
¶Ç´Â
# /usr/local/apache/bin/apachectl configtest
¶Ç´Â
# /etc/init.d/httpd -t ¶Ç´Â # /etc/init.d/httpd configtest
[ÀÌ»óÀÌ ¾ø´Ù¸é Apache ´Ù½Ã ½ÃÀÛ]
Ex)
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start
¶Ç´Â
# /usr/local/apache/bin/apachectl restart
setp 6. ¸ðµâÀÌ Á¤»óÀûÀ¸·Î ¿Ã·Á¿Ô´ÂÁö °£´ÜÈ÷ È®ÀÎ ¹æ¹ý
À¥ÆäÀÌÁö¿¡¼ PHPÀÇ phpinfo() ÇÔ¼ö¸¦ ÅëÇØ °£´ÜÈ÷ È®ÀÎ °¡´É
Ex) À¥ºê¶ó¿ìÁî¿¡ óÀ½ Á¢¼ÓÇØ¼ ¼ºñ½º Çϴ ȸéÀÇ ÀÖ´Â °÷ÀÇ °æ·Î¿¡ info.php ÆÄÀÏ »ý¼º
info.php ÆÄÀÏÀÇ ³»¿ëÀº
<?
phpinfo();
?>
À§ÀÇ ³»¿ëÀ¸·Î °£´ÜÈ÷ ÀÔ·Â
ÀÌ»ó ¼³Ä¡ ¹æ¹ý, ÁÖÀÇ ¹× È®ÀÎ ¹æ¹ý¿¡ °üÇØ ¾Ë¾Æº¸¾Ò½À´Ï´Ù.
[¹®Á¦ ÇØ°á]
¸¸¾à ÀÌ·¸°Ô Çߴµ¥µµ mod_rewrite »ç¿ëÀÌ Àß ¾ÈµÈ´Ù¸é ApacheÀÇ È¯°æ¼³Á¤ Áß ¾Æ·¡ ³»¿ëÀ» Âü°í
Apache ȯ°æ ¼³Á¤ ÆÄÀÏ httpd.conf ÆÄÀÏÀ» ¿¾î ´ÙÀ½³»¿ëÀ» ¼öÁ¤ ¶Ç´Â Ãß°¡
<Directory "mod_rewrite°¡ »ç¿ëµÈ µð·ºÅ丮 ÃÖ»çÀ§ °æ·Î">
Options FollowSymLinks
AllowOverride All
</Directory>
Ex)
<Directory "/usr/local/apache/htdocs">
Options FollowSymLinks
AllowOverride All
</Directory>