| <?xml version='1.0' encoding='EUC-KR' ?> |
| <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?> |
| <!-- English Revision: 151408:1818059 (outdated) --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="mass.xml.meta"> |
| <parentdocument href="./">°¡»óÈ£½ºÆ®</parentdocument> |
| <title>´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ µ¿ÀûÀ¸·Î ¼³Á¤Çϱâ</title> |
| |
| <summary> |
| |
| <p>ÀÌ ¹®¼´Â ¾ÆÆÄÄ¡ 1.3¿¡¼ ´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ È¿À²ÀûÀ¸·Î |
| ¼ºñ½ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. <!-- |
| |
| Written by Tony Finch (fanf@demon.net) (dot@dotat.at). |
| |
| Some examples were derived from Ralf S. Engleschall's document |
| http://www.engelschall.com/pw/apache/rewriteguide/ |
| |
| Some suggestions were made by Brian Behlendorf. |
| |
| --> |
| </p> |
| |
| </summary> |
| |
| <section id="motivation"><title>µ¿±â</title> |
| |
| <p>´ç½ÅÀÇ <code>httpd.conf</code>¿¡ ´ÙÀ½°ú °°ÀÌ ¼·Î ºñ½ÁÇÑ |
| <code><VirtualHost></code> ¼½¼ÇµéÀ» ¸¹ÀÌ ÀÖ´Ù¸é ¿©±â¼ |
| ¼³¸íÇÏ´Â ¹æ¹ýÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù:</p> |
| |
| <example> |
| NameVirtualHost 111.22.33.44<br /> |
| <VirtualHost 111.22.33.44><br /> |
| <indent> |
| ServerName www.customer-1.com<br /> |
| DocumentRoot /www/hosts/www.customer-1.com/docs<br /> |
| ScriptAlias /cgi-bin/ /www/hosts/www.customer-1.com/cgi-bin<br /> |
| </indent> |
| </VirtualHost><br /> |
| <VirtualHost 111.22.33.44><br /> |
| <indent> |
| ServerName www.customer-2.com<br /> |
| DocumentRoot /www/hosts/www.customer-2.com/docs<br /> |
| ScriptAlias /cgi-bin/ /www/hosts/www.customer-2.com/cgi-bin<br /> |
| </indent> |
| </VirtualHost><br /> |
| # ¹Ùº¸ ¹Ùº¸ ¹Ùº¸<br /> |
| <VirtualHost 111.22.33.44><br /> |
| <indent> |
| ServerName www.customer-N.com<br /> |
| DocumentRoot /www/hosts/www.customer-N.com/docs<br /> |
| ScriptAlias /cgi-bin/ /www/hosts/www.customer-N.com/cgi-bin<br /> |
| </indent> |
| </VirtualHost> |
| </example> |
| |
| <p>±âº» °³³äÀº Á¤ÀûÀÎ <code><VirtualHost></code> |
| ¼³Á¤ ¸ðµÎ¸¦ µ¿ÀûÀ¸·Î ó¸®Çϵµ·Ï ´ëüÇÏ´Â °ÍÀÌ´Ù. |
| ±×·¯¸é ¸¹Àº ÀåÁ¡ÀÌ ÀÖ´Ù:</p> |
| |
| <ol> |
| <li>¼³Á¤ÆÄÀÏÀÌ ÀÛ¾ÆÁ®¼ ¾ÆÆÄÄ¡°¡ »¡¸® ½ÃÀÛÇÏ°í ¸Þ¸ð¸®¸¦ |
| Àû°Ô »ç¿ëÇÑ´Ù.</li> |
| |
| <li>°¡»óÈ£½ºÆ®¸¦ Ãß°¡ÇϱâÀ§ÇØ ÆÄÀϽýºÅÛ¿¡ Àû´çÇÑ |
| µð·ºÅ丮¸¦ ¸¸µé°í DNS¿¡ Ç׸ñÀ» Ãß°¡Çϱ⸸ ÇϸéµÈ´Ù. Áï, |
| ¾ÆÆÄÄ¡¸¦ Àç¼³Á¤ÇÏ°í Àç½ÃÀÛÇÒ ÇÊ¿ä°¡ ¾ø´Ù.</li> |
| </ol> |
| |
| <p>´ÜÁ¡Àº °¢ °¡»óÈ£½ºÆ®º°·Î ´Ù¸¥ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù´Â |
| Á¡ÀÌ´Ù. ±×·¯³ª ¸Å¿ì ¸¹Àº °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÑ´Ù¸é ÆÄÀϱâ¼úÀÚ¸¦ |
| ´Ù ½á¹ö¸®±â¶§¹®¿¡ ¼·Î ´Ù¸¥ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÆÄÀÌÇÁ³ª |
| fifo·Î ·Î±×¸¦ º¸³»°í, ¹Þ´Â Æí¿¡¼ ·Î±×¸¦ ó¸®ÇÏ¿© ³ª´©´Â |
| ¹æ¹ýÀÌ (Åë°è µîÀ» ¸ðÀ» ¼öµµ ÀÖ´Ù) ´õ ³´´Ù.</p> |
| |
| </section> |
| |
| <section id="overview"><title>°³¿ä</title> |
| |
| <p>°¡»óÈ£½ºÆ®´Â IP ÁÖ¼Ò¿Í HTTP ¿äûÀÇ <code>Host:</code> |
| Çì´õ Á¤º¸·Î Á¤ÀÇÇÑ´Ù. ±âº»ÀûÀ¸·Î ´ë·®ÀÇ |
| µ¿Àû °¡»óÈ£½ºÆ® ±â¼úÀº ÀÚµ¿À¸·Î °¡»óÈ£½ºÆ® Á¤º¸¸¦ ¿äûÀÇ |
| ÆÄÀÏ°æ·Î¿¡ Æ÷ÇÔÇÑ´Ù. ÀÌ´Â ´ëºÎºÐ <module>mod_vhost_alias</module>¸¦ |
| »ç¿ëÇÏ¿© ½±°Ô ÇØ°áÇÒ ¼ö ÀÖÁö¸¸, ¾ÆÆÄÄ¡ 1.3.6 ÀÌÇϸ¦ »ç¿ëÇÑ´Ù¸é |
| <module>mod_rewrite</module>¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ µÎ ¸ðµâ |
| ¸ðµÎ ±âº»ÀûÀ¸·Î ¼¹ö¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ·Á¸é |
| ¾ÆÆÄÄ¡¸¦ ±¸¼ºÇÏ°í ÄÄÆÄÀÏÇÒ¶§ Æ÷ÇÔÇØ¾ß ÇÑ´Ù.</p> |
| |
| <p>µ¿Àû °¡»óÈ£½ºÆ®¸¦ ÀϹÝÀûÀÎ °¡»óÈ£½ºÆ®Ã³·³ º¸ÀÌ°ÔÇÏ·Á¸é |
| ¿©·¯°¡Áö¸¦ `¼Ó¿©¾ß' ÇÑ´Ù. °¡Àå Áß¿äÇÑ °ÍÀº ¾ÆÆÄÄ¡°¡ ÀÚ±âÂüÁ¶ |
| URL µîÀ» ¸¸µé¶§ »ç¿ëÇÒ ¼¹ö¸íÀÌ´Ù. ¼¹ö¸íÀº |
| <code>ServerName</code> Áö½Ã¾î·Î ¼³Á¤Çϸç, CGI¿¡´Â |
| <code>SERVER_NAME</code> ȯ°æº¯¼ö·Î ÁÖ¾îÁø´Ù. ½ÇÇàÁß ½ÇÁ¦ |
| ¼¹ö¸íÀº <directive |
| module="core">UseCanonicalName</directive> ¼³Á¤¿¡ ´Þ·È´Ù. |
| <code>UseCanonicalName Off</code>ÀÌ¸é ¿äûÀÇ <code>Host:</code> |
| Çì´õ ³»¿ëÀÌ ¼¹ö¸íÀÌ µÈ´Ù. <code>UseCanonicalName DNS</code>À̸é |
| °¡»óÈ£½ºÆ®ÀÇ IP ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ¼¹ö¸íÀ» ¾Ë¾Æ³½´Ù. |
| ÀüÀÚ´Â À̸§±â¹Ý µ¿Àû °¡»óÈ£½ºÆ®¿¡¼ »ç¿ëÇÏ°í, ÈÄÀÚ´Â IP±â¹Ý |
| °¡»óÈ£½ºÆ®¿¡¼ »ç¿ëÇÑ´Ù. <code>Host:</code> Çì´õ°¡ ¾ø°Å³ª |
| DNS °Ë»öÀÌ ½ÇÆÐÇÏ¿© ¾ÆÆÄÄ¡°¡ ¼¹ö¸íÀ» ¾Ë¾Æ³»Áö ¸øÇϸé |
| <code>ServerName</code>À¸·Î ¼³Á¤ÇÑ °ªÀ» ´ë½Å »ç¿ëÇÑ´Ù.</p> |
| |
| <p>´Ù¸¥ `¼ÓÀÏ' °ÍÀº (<code>DocumentRoot</code>·Î ¼³Á¤Çϸç, |
| CGI¿¡´Â <code>DOCUMENT_ROOT</code> ȯ°æº¯¼ö·Î ÁÖ¾îÁö´Â) |
| ¹®¼·çÆ®ÀÌ´Ù. ÀϹÝÀûÀÎ °æ¿ì core ¸ðµâÀÌ ÀÌ ¼³Á¤À» »ç¿ëÇÏ¿© |
| URI¿¡ ÇØ´çÇÏ´Â ÆÄÀϸíÀ» ãÁö¸¸, ¼¹ö¸¦ µ¿Àû °¡»óÈ£½ºÆÃÀ» ÇÒ¶§´Â ´Ù¸¥ |
| ¸ðµâÀÌ (<code>mod_vhost_alias</code>³ª <code>mod_rewrite</code>) |
| ´Ù¸¥ ¹æ¹ýÀ¸·Î ÀÌ·± ÀÛ¾÷À» ÇÑ´Ù. µÎ ¸ðµâ ¸ðµÎ |
| <code>DOCUMENT_ROOT</code> ȯ°æº¯¼ö¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î |
| CGI³ª SSI ¹®¼°¡ ÀÌ °ªÀ» »ç¿ëÇÑ´Ù¸é À߸øµÈ °á°ú¸¦ ¾òÀ» ¼ö |
| ÀÖ´Ù.</p> |
| |
| </section> |
| |
| <section id="simple"><title>°£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®</title> |
| |
| <p>À§ <a href="#motivation">µ¿±â</a> ÀýÀÇ °¡»óÈ£½ºÆ® |
| ¼³Á¤À» <code>mod_vhost_alias</code>¸¦ »ç¿ëÇÏ¿© ´õ ÀϹÝÀûÀ¸·Î |
| ±¸ÇöÇß´Ù.</p> |
| |
| <example> |
| # Host: Çì´õ¿¡¼ ¼¹ö¸íÀ» ¾Ë¾Æ³½´Ù<br /> |
| UseCanonicalName Off<br /> |
| <br /> |
| # ù¹ø° Çʵ带 »ç¿ëÇÏ¿© ÀÌ ·Î±×¸¦ °¡»óÈ£½ºÆ®º°·Î ³ª´ ¼ö ÀÖ´Ù<br /> |
| LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br /> |
| CustomLog logs/access_log vcommon<br /> |
| <br /> |
| # ¿äûÀ» ó¸®ÇϱâÀ§ÇØ ÆÄÀÏ¸í¿¡ ¼¹ö¸íÀ» Æ÷ÇÔÇÑ´Ù<br /> |
| VirtualDocumentRoot /www/hosts/%0/docs<br /> |
| VirtualScriptAlias /www/hosts/%0/cgi-bin |
| </example> |
| |
| <p>ÀÌ ¼³Á¤¿¡¼ <code>UseCanonicalName Off</code>¸¦ |
| <code>UseCanonicalName DNS</code>·Î º¯°æÇϱ⸸ Çϸé IP±â¹Ý |
| °¡»óÈ£½ºÆ®°¡ µÈ´Ù. °¡»óÈ£½ºÆ®ÀÇ IP ÁÖ¼Ò¸¦ °¡Áö°í |
| ÆÄÀÏ¸í¿¡ Ãß°¡ÇÒ ¼¹ö¸íÀ» ¾Ë ¼ö ÀÖ´Ù.</p> |
| |
| </section> |
| |
| <section id="homepages"><title>°¡»óÀ¸·Î È£½ºÆ®Çϴ ȨÆäÀÌÁö ½Ã½ºÅÛ</title> |
| |
| <p>ISP ȨÆäÀÌÁö ¼¹ö¸¦ À§ÇØ À§ÀÇ ¼³Á¤À» ¼öÁ¤Çß´Ù. Á¶±Ý ´õ |
| º¹ÀâÇÑ ¼³Á¤À» »ç¿ëÇϸé <code>www.user.isp.com</code>ÀÇ ¹®¼¸¦ |
| <code>/home/user/</code>¿¡ µÎ´Â ½ÄÀ¸·Î ¼¹ö¸íÀÇ ÀϺθ¦ °¡Áö°í |
| ÆÄÀϸíÀ» ¸¸µé ¼ö ÀÖ´Ù. ÀÌ ¼³Á¤Àº |
| <code>cgi-bin</code>À» °¢ °¡»óÈ£½ºÆ®°¡ µû·Î °¡ÁöÁö¾Ê°í |
| ¸ðµç °¡»óÈ£½ºÆ®°¡ °°ÀÌ »ç¿ëÇÑ´Ù.</p> |
| |
| <example> |
| # ±âº»ÀûÀÎ ³»¿ëÀº À§¿Í °°´Ù. ±×¸®°í<br /> |
| <br /> |
| # ÆÄÀÏ¸í¿¡ ¼¹ö¸íÀÇ ÀϺθ¦ Æ÷ÇÔÇÑ´Ù<br /> |
| VirtualDocumentRoot /www/hosts/%2/docs<br /> |
| <br /> |
| # ÇϳªÀÇ cgi-bin µð·ºÅ丮<br /> |
| ScriptAlias /cgi-bin/ /www/std-cgi/<br /> |
| </example> |
| |
| <p><module>mod_vhost_alias</module> ¹®¼¿¡´Â ´õ º¹ÀâÇÑ |
| <code>VirtualDocumentRoot</code> ¼³Á¤ÀÇ ¿¹°¡ ÀÖ´Ù.</p> |
| |
| </section> |
| |
| <section id="combinations"><title>ÇÑ ¼¹ö¿¡ ¿©·¯ °¡»óÈ£½ºÆ® |
| ½Ã½ºÅÛ »ç¿ëÇϱâ</title> |
| |
| <p>´õ º¹ÀâÇÑ ¼³Á¤ÀÇ ¿¹·Î ¾ÆÆÄÄ¡ÀÇ ÀϹÝÀûÀÎ |
| <code><VirtualHost></code> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¿©·¯ |
| °¡»óÈ£½ºÆ® ¼³Á¤ÀÇ ¹üÀ§¸¦ Á¶ÀýÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú |
| °°Àº ¼³Á¤Àº ȨÆäÀÌÁö °í°´¿¡ IP ÁÖ¼Ò ÇÑ°³, »ó¾÷ÀûÀÎ |
| °í°´¿¡°Ô ´Ù¸¥ IP ÁÖ¼Ò ÇÑ°³¸¦ ºÎ¿©ÇÑ´Ù. ¹°·Ð ÀÌÀüó·³ |
| <code><VirtualHost></code> ¼³Á¤ ¼½¼Ç¿¡ ¸ðµÎ ¹À» ¼öµµ |
| ÀÖ´Ù.</p> |
| |
| <example> |
| UseCanonicalName Off<br /> |
| <br /> |
| LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br /> |
| <br /> |
| <Directory /www/commercial><br /> |
| <indent> |
| Options FollowSymLinks<br /> |
| AllowOverride All<br /> |
| </indent> |
| </Directory><br /> |
| <br /> |
| <Directory /www/homepages><br /> |
| <indent> |
| Options FollowSymLinks<br /> |
| AllowOverride None<br /> |
| </indent> |
| </Directory><br /> |
| <br /> |
| <VirtualHost 111.22.33.44><br /> |
| <indent> |
| ServerName www.commercial.isp.com<br /> |
| <br /> |
| CustomLog logs/access_log.commercial vcommon<br /> |
| <br /> |
| VirtualDocumentRoot /www/commercial/%0/docs<br /> |
| VirtualScriptAlias /www/commercial/%0/cgi-bin<br /> |
| </indent> |
| </VirtualHost><br /> |
| <br /> |
| <VirtualHost 111.22.33.45><br /> |
| <indent> |
| ServerName www.homepages.isp.com<br /> |
| <br /> |
| CustomLog logs/access_log.homepages vcommon<br /> |
| <br /> |
| VirtualDocumentRoot /www/homepages/%0/docs<br /> |
| ScriptAlias /cgi-bin/ /www/std-cgi/<br /> |
| </indent> |
| </VirtualHost> |
| </example> |
| |
| </section> |
| |
| <section id="ipbased"><title>´õ È¿À²ÀûÀÎ IP±â¹Ý °¡»óÈ£½ºÆ®</title> |
| |
| <p><a href="#simple">ù¹ø° ¿¹</a>¿¡¼ ³ª´Â ¼³Á¤À» °£´ÜÈ÷ |
| IP±â¹Ý °¡»óÈ£½ºÆ®·Î ¹Ù²Ü ¼ö ÀÖ´Ù°í ¸»Çß´Ù. ºÒÇàÈ÷µµ |
| ±×·± ¼³Á¤Àº ¸Å ¿äû¸¶´Ù DNS¸¦ ã¾Æ¾ßÇϹǷΠ¸Å¿ì ºñÈ¿À²ÀûÀÌ´Ù. |
| À̸§´ë½Å IP ÁÖ¼Ò·Î ÆÄÀϽýºÅÛÀ» ±¸¼ºÇÏ°í °°Àº ¹æ½ÄÀ¸·Î |
| ·Î±×¸¦ ¼öÁ¤ÇÏ¸é ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¼¹ö¸íÀ» |
| ´Ù·ê ÇÊ¿ä°¡ ¾ø¾îÁö°í, DNS °Ë»öµµ ÇÏÁö ¾Ê°Ô µÈ´Ù.</p> |
| |
| <example> |
| # IP ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ¼¹ö¸íÀ» ¾Ë¾Æ³½´Ù<br /> |
| UseCanonicalName DNS<br /> |
| <br /> |
| # ·Î±×¸¦ ³ª´ ¼ö ÀÖµµ·Ï IP ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù<br /> |
| LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon<br /> |
| CustomLog logs/access_log vcommon<br /> |
| <br /> |
| # ÆÄÀÏ¸í¿¡ IP ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù<br /> |
| VirtualDocumentRootIP /www/hosts/%0/docs<br /> |
| VirtualScriptAliasIP /www/hosts/%0/cgi-bin<br /> |
| </example> |
| |
| </section> |
| |
| <section id="oldversion"><title>¾ÆÆÄÄ¡ ÀÌÀü ¹öÀü »ç¿ëÇϱâ</title> |
| |
| <p>À§ ¿¹µéÀº ¾ÆÆÄÄ¡ ¹öÀü 1.3.6 ÀÌÈÄ¿¡ Æ÷ÇÔµÈ |
| <code>mod_vhost_alias</code>À» »ç¿ëÇÑ´Ù. |
| <code>mod_vhost_alias</code>°¡ ¾ø´Â ¾ÆÆÄÄ¡ ¹öÀüÀ» »ç¿ëÇÑ´Ù¸é |
| ÀÌ¹Ì ¸»ÇßµíÀÌ <code>mod_rewrite</code>¸¦ »ç¿ëÇÏ¿©, ´Ü |
| Host:-Çì´õ±â¹Ý °¡»óÈ£½ºÆ®¸¸À», ±¸ÇöÇÒ ¼ö ÀÖ´Ù.</p> |
| |
| <p>¶Ç ·Î±×¿¡ °üÇÏ¿© ÁÖÀÇÇÒ Á¡ÀÌ ÀÖ´Ù. ¾ÆÆÄÄ¡ 1.3.6¿¡¼ |
| ·Î±×Çü½Ä Áö½Ã¾î <code>%V</code>°¡ Æ÷ÇԵǾú°í, ¹öÀü 1.3.0 |
| - 1.3.3¿¡¼ ÀÌ ±â´ÉÀ» <code>%v</code> ¿É¼ÇÀÌ ´ë½Å Çß´Ù. ±×·¯³ª |
| ¹öÀü 1.3.4¿¡´Â ÀÌ·± ±â´ÉÀÌ ¾ø´Ù. ¾î¶² ¾ÆÆÄÄ¡ ¹öÀü¿¡¼µµ |
| <code>.htaccess</code> ÆÄÀÏ¿¡¼ <code>UseCanonicalName</code> |
| Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î ·Î±×¿¡ ÀÌ»óÇÑ ³»¿ëÀÌ ±â·ÏµÉ ¼ö ÀÖ´Ù. |
| ±×·¯¹Ç·Î °¡Àå ÁÁÀº ¹æ¹ýÀº <code>%{Host}i</code> Áö½Ã¾î¸¦ |
| »ç¿ëÇÏ¿© <code>Host:</code> Çì´õ¸¦ Á÷Á¢ ·Î±×¿¡ ³²±â´Â °ÍÀÌ´Ù. |
| ¶Ç, ÀÌ ¹æ¹ýÀº <code>%V</code>´Â Æ÷ÇÔÇÏÁö¾Ê´Â <code>:port</code>¸¦ |
| µÚ¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.</p> |
| |
| </section> |
| |
| <section id="simple.rewrite"><title><code>mod_rewrite</code>¸¦ |
| »ç¿ëÇÑ °£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®</title> |
| |
| <p>´ÙÀ½Àº <a href="#simple">ù¹ø° ¿¹</a>¿Í °°Àº ÀÏÀ» ÇÏ´Â |
| <code>httpd.conf</code> ¿¹ÀÌ´Ù. óÀ½ Àý¹ÝÀº ù¹ø° ¿¹¿Í |
| °ÅÀÇ ºñ½ÁÇÏÁö¸¸, ÀÌÀü ¹öÀü°úÀÇ È£È¯¼º°ú <code>mod_rewrite</code>ÀÇ |
| ÀûÀýÇÑ µ¿ÀÛÀ» À§ÇØ ¼öÁ¤µÇ¾ú´Ù. ³ª¸ÓÁö Àý¹ÝÀº ½ÇÁ¦ ÀÛ¾÷À» |
| ÇÏ´Â <code>mod_rewrite</code>¸¦ ¼³Á¤ÇÑ´Ù.</p> |
| |
| <p>Ưº°È÷ ÁÖÀÇÇØ¾ß ÇÒ »çÇ×ÀÌ ÀÖ´Ù. ±âº»ÀûÀ¸·Î |
| <code>mod_rewrite</code>´Â (<code>mod_alias</code> µî) ´Ù¸¥ |
| URI ¹ø¿ª ¸ðµâ ÀÌÀü¿¡ ½ÇÇàµÈ´Ù. ±×·¡¼ ´Ù¸¥ URI ¹ø¿ª ¸ðµâµé°ú |
| °°ÀÌ µ¿ÀÛÇÒ °ÍÀ» °í·ÁÇÏ¿© <code>mod_rewrite</code>¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. |
| ¶Ç, µ¿Àû °¡»óÈ£½ºÆ®¿¡¼ <code>ScriptAlias</code>°ú °°Àº |
| ±â´ÉÀ» À§Çؼ´Â Ưº°ÇÑ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.</p> |
| |
| <example> |
| # Host: Çì´õ¿¡¼ ¼¹ö¸íÀ» ¾ò´Â´Ù<br /> |
| UseCanonicalName Off<br /> |
| <br /> |
| # splittable logs<br /> |
| LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br /> |
| CustomLog logs/access_log vcommon<br /> |
| <br /> |
| <Directory /www/hosts><br /> |
| <indent> |
| # ScriptAlias ½ÄÀ¸·Î CGI ½ÇÇàÀ» °Á¦ÇÒ ¼ö ¾ø±â¶§¹®¿¡<br /> |
| # ¿©±â¿¡ ExecCGI¸¦ »ç¿ëÇÑ´Ù<br /> |
| Options FollowSymLinks ExecCGI<br /> |
| </indent> |
| </Directory><br /> |
| <br /> |
| # ÀÌÁ¦ ¾î·Á¿î ºÎºÐÀÌ´Ù<br /> |
| <br /> |
| RewriteEngine On<br /> |
| <br /> |
| # Host: Çì´õ¿¡¼ °¡Á®¿Â ¼¹ö¸í¿¡´Â ´ë¼Ò¹®ÀÚ°¡ µÚ¼¯¿©ÀÖÀ» ¼ö ÀÖ´Ù<br /> |
| RewriteMap lowercase int:tolower<br /> |
| <br /> |
| ## ÀÏ¹Ý ¹®¼¸¦ ¸ÕÀú ó¸®ÇÑ´Ù:<br /> |
| # Alias /icons/ °¡ µ¿ÀÛÇϵµ·Ï - ´Ù¸¥ alias¿¡ ´ëÇؼµµ ¹Ýº¹<br /> |
| RewriteCond %{REQUEST_URI} !^/icons/<br /> |
| # CGI°¡ µ¿ÀÛÇϵµ·Ï<br /> |
| RewriteCond %{REQUEST_URI} !^/cgi-bin/<br /> |
| # Ưº°ÇÑ ÀÛ¾÷<br /> |
| RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1<br /> |
| <br /> |
| ## ÀÌÁ¦ CGI¸¦ ó¸®ÇÑ´Ù - MIME typeÀ» °Á¦ÇØ¾ß ÇÑ´Ù<br /> |
| RewriteCond %{REQUEST_URI} ^/cgi-bin/<br /> |
| RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]<br /> |
| <br /> |
| # ³¡! |
| </example> |
| |
| </section> |
| |
| <section id="homepages.rewrite"><title><code>mod_rewrite</code>¸¦ |
| »ç¿ëÇÑ È¨ÆäÀÌÁö ½Ã½ºÅÛ</title> |
| |
| <p>´ÙÀ½Àº <a href="#homepages">µÎ¹ø° ¿¹</a>¿Í °°Àº ÀÏÀ» |
| ÇÑ´Ù.</p> |
| |
| <example> |
| RewriteEngine on<br /> |
| <br /> |
| RewriteMap lowercase int:tolower<br /> |
| <br /> |
| # CGI°¡ µ¿ÀÛÇϵµ·Ï<br /> |
| RewriteCond %{REQUEST_URI} !^/cgi-bin/<br /> |
| <br /> |
| # RewriteRuleÀÌ µ¿ÀÛÇϵµ·Ï È£½ºÆ®¸íÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÑ´Ù<br /> |
| RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.com$<br /> |
| <br /> |
| # °¡»óÈ£½ºÆ®¸íÀ» URI ¾Õ¿¡ ºÙÀδÙ<br /> |
| # [C]´Â ÀÌ °á°ú¸¦ °¡Áö°í ´ÙÀ½ ÀçÀÛ¼ºÀ» ¼öÇàÇÔÀ» ¶æÇÑ´Ù<br /> |
| RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]<br /> |
| <br /> |
| # ÀÌÁ¦ ½ÇÁ¦ ÆÄÀϸíÀ» ¸¸µç´Ù<br /> |
| RewriteRule ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2<br /> |
| <br /> |
| # Àüü CGI µð·ºÅ丮¸¦ Á¤ÀÇÇÑ´Ù<br /> |
| ScriptAlias /cgi-bin/ /www/std-cgi/ |
| </example> |
| |
| </section> |
| |
| <section id="xtra-conf"><title>º°µµÀÇ °¡»óÈ£½ºÆ® ¼³Á¤ÆÄÀÏ |
| »ç¿ëÇϱâ</title> |
| |
| <p>´ÙÀ½Àº <code>mod_rewrite</code>ÀÇ °í±Þ ±â´ÉÀ» »ç¿ëÇÏ¿© |
| º°µµÀÇ ¼³Á¤ÆÄÀÏÀ» °¡Áö°í °¡»óÈ£½ºÆ®ÀÇ ¹®¼·çÆ®¸¦ ¾Ë¾Æ³½´Ù. |
| ´õ À¯¿¬ÇÏÁö¸¸ ´õ º¹ÀâÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.</p> |
| |
| <p><code>vhost.map</code> ÆÄÀÏÀº ´ÙÀ½°ú °°´Ù:</p> |
| |
| <example> |
| www.customer-1.com /www/customers/1<br /> |
| www.customer-2.com /www/customers/2<br /> |
| # ...<br /> |
| www.customer-N.com /www/customers/N<br /> |
| </example> |
| |
| <p><code>http.conf</code>´Â ´ÙÀ½°ú °°´Ù:</p> |
| |
| <example> |
| RewriteEngine on<br /> |
| <br /> |
| RewriteMap lowercase int:tolower<br /> |
| <br /> |
| # ´ëÀÀÆÄÀÏÀ» Á¤ÀÇÇÑ´Ù<br /> |
| RewriteMap vhost txt:/www/conf/vhost.map<br /> |
| <br /> |
| # À§¿Í °°ÀÌ aliasµéÀ» ó¸®ÇÑ´Ù<br /> |
| RewriteCond %{REQUEST_URI} !^/icons/<br /> |
| RewriteCond %{REQUEST_URI} !^/cgi-bin/<br /> |
| RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br /> |
| # ÆÄÀÏ ³»¿ëÀ» °¡Áö°í ã´Â´Ù<br /> |
| RewriteCond ${vhost:%1} ^(/.*)$<br /> |
| RewriteRule ^/(.*)$ %1/docs/$1<br /> |
| <br /> |
| RewriteCond %{REQUEST_URI} ^/cgi-bin/<br /> |
| RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br /> |
| RewriteCond ${vhost:%1} ^(/.*)$<br /> |
| RewriteRule ^/(.*)$ %1/cgi-bin/$1 |
| </example> |
| |
| </section> |
| </manualpage> |