home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2004 May
/
PCWorld_2004-05_cd.bin
/
komunikace
/
apache
/
apache_2.0.48-win32-x86-no_ssl.msi
/
Data.Cab
/
F253041_mass.xml.ko
< prev
next >
Wrap
Extensible Markup Language
|
2003-05-10
|
14KB
|
396 lines
<?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: 1.3.2.2 -->
<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>