Current Path : /usr/local/share/doc/apache/mod/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/share/doc/apache/mod/mod_rewrite.html.ja.jis |
<?xml version="1.0" encoding="iso-2022-jp"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!--%hypertext --> <!-- mod_rewrite.html --> <!-- Documentation for the mod_rewrite Apache module --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>Apache module mod_rewrite</title> </head> <!-- English revision: 1.65 --> <!-- Background white, links blue (unvisited), navy (visited), red (active) --> <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" alink="#FF0000"> <blockquote> <!-- page indentation --> <div align="CENTER"> <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> <h3>Apache HTTP Server Version 1.3</h3> <p><small><em>Is this the version you want? For more recent versions, check our <a href="/docs/">documentation index</a>.</em></small></p> </div> <br /> <h1 align="center">mod_rewrite $B%b%8%e!<%k(B<br /> URL $B=q$-49$(%(%s%8%s(B</h1> <p>$B$3$N%b%8%e!<%k$O!"MW5a$5$l$?(B URL $B$r%j%"%k%?%$%`$G=q$-49$($k$?$a$N!"(B $B%k!<%k%Y!<%9$N=q$-49$(%(%s%8%s$rDs6!$7$^$9!#(B </p> <p><a href="module-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="module-dict.html#SourceFile" rel="Help"><strong>$B%=!<%9%U%!%$%k(B:</strong></a> mod_rewrite.c<br /> <a href="module-dict.html#ModuleIdentifier" rel="Help"><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> rewrite_module<br /> <a href="module-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 $B0J9_$G;HMQ2DG=(B</p> <hr noshade="noshade" size="1" /> <br /> <h2>$B35MW(B</h2> <blockquote> <blockquote> <blockquote> <em>`` mod_rewrite $B$N$9$P$i$7$$$H$3$m$O!"(B Sendmail $B$N$h$&$J@_Dj@-$H=@Fp@-$rM?$($F$/$l$k$H$3$m$@$m$&!#(B $B$^$?!"(Bmod_rewrite $B$N$h$/$J$$$H$3$m$O!"(B Sendmail $B$N$h$&$J@_Dj@-$H=@Fp@-$rM?$($F$/$l$k$H$3$m$@$m$&!#(B''</em> <div align="right"> -- Brian Behlendorf<br /> Apache Group </div> </blockquote> </blockquote> </blockquote> <blockquote> <blockquote> <blockquote> <em>`` $BKDBg$J@_DjNc$d%I%-%e%a%s%H$,$"$k$K$b$+$+$o$i$:!"(B mod_rewrite $B$O9uKb=Q$G$"$k!#$+$J$j%$%1$F$k$C$]$$9uKb=Q$@$,!"(B $B$d$C$Q$j9uKb=Q$G$"$k!#(B''</em> <div align="right"> -- Brian Moore<br /> bem@news.cmc.net </div> </blockquote> </blockquote> </blockquote> URL $B$rA`:n$9$k$?$a$N%9%$%9@=$N%"!<%_!<%J%$%U!"(Bmod_rewrite $B$X$h$&$3$=(B! <p>$B$3$N%b%8%e!<%k$O!"(B($B@55,I=8=%Q!<%5$K4p$E$/(B) $B%k!<%k%Y!<%9$N=q$-49$(%(%s%8%s$r;H$$!"MW5a$5$l$?(B URL $B$rE,59=q$-49$($^$9!#%5%]!<%H$9$k%k!<%k$N?t!"(B $B$*$h$S3F%k!<%k$rE,MQ$9$k:]$N%k!<%k>r7o$N?t$K@)8B$O$J$/!"(B $BK\Ev$K=@Fp$G$+$D6/NO$J(B URL $BA`:n%a%+%K%:%`$rDs6!$7$^$9!#$3$N(B URL $BA`:n$K@hN)$A!"<!$N$h$&$K$$$m$$$m$JI>2A$r9T$&$3$H$,$G$-$^$9!#(B $BNc$($P%5!<%PJQ?t!"4D6-JQ?t!"(BHTTP $B%X%C%@!"%?%$%`%9%?%s%W!"(B $B$5$i$K30It%G!<%?%Y!<%9$N8!:w7k2L$^$G$rI>2A$NBP>]$H$7$F!"(B $B3F<o$N%U%)!<%^%C%H$r;H$C$?:YN3EY$N(B URL $B%^%C%A%s%0$r<B8=$G$-$^$9!#(B </p> <p>$B$3$N%b%8%e!<%k$O!"%5!<%PC10L$N%3%s%F%-%9%H(B (<code>httpd.conf</code>) $B$*$h$S%G%#%l%/%H%jC10L$N%3%s%F%-%9%H(B (<code>.htaccess</code>) $B$K$*$$$F(B (PATH-INFO $BItJ,$r4^$`(B) $B%U%k(B URL $B$KBP$9$kA`:n$r9T$$$^$9$,!"(B $B$5$i$K7k2L$H$7$F%/%(%j!<J8;zNsItJ,$r@8@.$9$k$3$H$b$G$-$^$9!#(B $B=PNO$5$l$?7k2L$rFbIt$N%5%V%W%m%;%9$d30It%j%/%(%9%H$N%j%@%$%l%/%7%g%s!"(B $B$5$i$K$OFbIt$N%W%m%-%7=hM}%k!<%A%s$KEO$9$3$H$b$G$-$^$9!#(B </p> <p>$B$?$@!"$3$l$i$9$Y$F$N5!G=$d=@Fp@-$,!"(B $B7gE@$G$"$kJ#;($5$N85$K$b$J$C$F$$$^$9!#$J$N$G!"$3$N%b%8%e!<%k(B $BA4BN$r0lF|DxEY$G3P$($h$&$J$I$H$O;W$o$J$$$[$&$,$$$$$G$7$g$&!#(B </p> <p>$B$3$N%b%8%e!<%k$O(B 1996 $BG/$N(B 4 $B7n$K(B</p> <blockquote> <a href="http://www.engelschall.com/"><code>Ralf S. Engelschall</code></a><br /> <a href="mailto:rse@engelschall.com"><code>rse@engelschall.com</code></a><br /> <a href="http://www.engelschall.com/"><code>www.engelschall.com</code></a> </blockquote> <p>$B$i$K$h$j9M0F$5$l$F%*%j%8%J%k$,=q$+$l!"(B<br /> 1997 $BG/$N(B 7 $B7n$K!"(BThe Apache Group $B$KBP$7$FFH@jE*$KB#Dh$5$l$^$7$?!#(B</p> <hr noshade="noshade" size="1" /> <h2>$BL\<!(B</h2> <p><strong>$BFbIt=hM}(B</strong></p> <ul> <li><a href="#InternalAPI">API $B%U%'!<%:(B</a></li> <li><a href="#InternalRuleset">$B%k!<%k%;%C%H=hM}(B</a></li> <li><a href="#InternalBackRefs">$B@55,I=8=$N8eJ};2>H$,2DG=(B</a></li> </ul> <p><strong>$B@_Dj%G%#%l%/%F%#%V(B</strong></p> <ul> <li><a href="#RewriteEngine">RewriteEngine</a></li> <li><a href="#RewriteOptions">RewriteOptions</a></li> <li><a href="#RewriteLog">RewriteLog</a></li> <li><a href="#RewriteLogLevel">RewriteLogLevel</a></li> <li><a href="#RewriteLock">RewriteLock</a></li> <li><a href="#RewriteMap">RewriteMap</a></li> <li><a href="#RewriteBase">RewriteBase</a></li> <li><a href="#RewriteCond">RewriteCond</a></li> <li><a href="#RewriteRule">RewriteRule</a></li> </ul> <strong>$B$=$NB>(B</strong> <ul> <li><a href="#EnvVar">$B4D6-JQ?t(B</a></li> <li><a href="#Solutions">$B<BNc(B</a></li> </ul> <hr noshade="noshade" size="1" /> <center> <h1><a id="Internal" name="Internal">$BFbIt=hM}(B</a></h1> </center> <hr noshade="noshade" size="1" /> <p>$B$3$N%b%8%e!<%k$NFbIt=hM}$O$H$F$bJ#;($G$9$,!"(B $B$"$j$,$A$J%_%9$rHr$1!"$^$?A45!G=$r3hMQ$G$-$k$h$&$K!"(B $BJ?6QE*%f!<%6$KBP$7$F$b0lEY$O@bL@$7$F$*$/I,MW$,$"$j$^$9!#(B </p> <h2><a id="InternalAPI" name="InternalAPI">API $B%U%'!<%:(B</a></h2> <p>$B$^$:$O!"(BApache $B$,(B HTTP $B%j%/%(%9%H$r=hM}$9$k:]$K!"(B $B$3$N%b%8%e!<%k$,$3$N%U%'!<%:$G9T$&$3$H$rM}2r$7$F$*$+$J$1$l$P$J$j$^$;$s!#(B Apache API $B$G$O!"$3$l$i$N3F%U%'!<%:$KBP$9$k%U%C%/$,Ds6!$5$l$F$$$^$9!#(B mod_rewrite $B$O0J2<$NFs$D$N%U%C%/$r;H$$$^$9(B: HTTP $B%j%/%(%9%H$,FI$^$l$?8e$G$+$D$9$Y$F$NG'>Z$,3+;O$5$l$kA0$K;H$o$l$k(B URL-to-filename $BJQ49%U%C%/!"$=$7$F!"G'>Z%U%'!<%:$N8e$G(B $B%G%#%l%/%H%j$4$H$N@_Dj%U%!%$%k(B (<code>.htaccess</code>) $B$,FI$^$l$?8e!"$^$@(B content $B%O%s%I%i$,M-8z$K$J$kA0$K5/F0$5$l$k(B Fixup $B%U%C%/$G$9!#(B </p> <p>$B$=$7$F!"$"$k%j%/%(%9%H$,F~$C$FMh$F!"(BApache $B$,$3$l$KBP1~$9$k%5!<%P(B ($B<c$7$/$O%P!<%A%c%k%5!<%P(B) $B$r7hDj$7$?8e$K!"=q$-49$(%(%s%8%s$O!"(B $B%5!<%P$4$H$N@_Dj$r85$K!"(BURL-to-filename $B%U%'!<%:$G$9$Y$F$N(B mod_rewrite $B%G%#%l%/%F%#%V$N=hM}$r3+;O$7$^$9!#(B $B$=$N8eB?>/$N%9%F%C%W$r7P$F:G8e$N%G!<%?%G%#%l%/%H%j$,8+$D$+$C$?;~!"(B $B%G%#%l%/%H%j$4$H$N(B mod_rewrite $B@_Dj%G%#%l%/%F%#%V$,(B Fixup $B%U%'!<%:$G5/F0$5$l$^$9!#(B $B$3$N3F!9$N%?%$%_%s%0$N4V$KFC$KL@$i$+$J0c$$$O$J$$$N$G$9$,!"$=$l$G$b(B mod_rewrite $B$O$$$:$l$N;~$K$b3F(B URL $B$r?7$7$$(B URL $B$^$?$O%U%!%$%kL>$K=q$-49$($^$9!#$3$l$O$3$N(B API $B$,%G%6%$%s$5$l$?;~$KA[Dj$5$l$?;H$$J}$G$O$J$$$N$G$9$,!"(BApache 1.x $B$K$*$$$F$O$3$l$,(B mod_rewrite $B$,F0$1$kM#0l$NJ}K!$G$7$?!#(B $B$3$NE@$r$h$j$O$C$-$j$5$;$k$?$a$K!"0J2<$N(B 2 $BE@$K$D$$$F3P$($F$*$$$F$/$@$5$$(B:</p> <ol> <li>mod_rewrite $B$O(B URL $B$r(B URL $B$X!"(BURL $B$r%U%!%$%kL>$X!"(B $B$5$i$K%U%!%$%kL>$r%U%!%$%kL>$X$H=q$-49$($^$9$,!"(BAPI $B$G$O8=:_$N$H$3$m(B URL-to-filename $B%U%C%/$N$_$rDs6!$7$F$$$^$9!#(B Apache 2.0 $B$G$O$=$l$^$G$K$O$J$+$C$?Fs$D$N%U%C%/$,DI2C$5$l!"(B $B=hM}$,$h$jL@3N$K$J$j$^$7$?!#(B $B$7$+$7$3$NE@$G$O%f!<%6$K$H$C$F$NITMx1W$O$J$/!"(B $BC1$K3P$($F$*$/$Y$-;v<B$H$7$F$O(B: Apache $B$O(B URL-to-filename $B%U%C%/$K$*$$$F(B API $B$,0U?^$9$k0J>e$N$3$H$r9T$$$^$9!#(B</li> <li>mod_rewrite $B$G$O!"?.$8$i$l$J$$$3$H$K!"(BURL $B$,%U%!%$%kL>$KJQ49$5$l$F$+$i$:$C$H8e$KC)$jCe$/$H$3$m$K$"$k!"(B $B%G%#%l%/%H%j$4$H$N%3%s%F%-%9%H(B<em>$B$9$J$o$A(B</em> <code>.htaccess</code> $B%U%!%$%k$NCf$G(B URL $BA`:n$r9T$($k$h$&$K$J$C$F$$$9!#(B<code>.htaccess</code> $B%U%!%$%k$O%U%!%$%k%7%9%F%`Cf$K$"$k$?$a$K(B $B=hM}$NN.$l$O$9$G$K$3$NCJ3,$^$GE~C#$7$F$$$k$N$G!"(B $B$3$N$h$&$K$J$C$F$$$k$N$G$9!#$D$^$j$3$N;~E@$G(B API $B%U%'!<%:$K=>$($P!"$I$N(B URL $B$rA`:n$9$k$K$b4{$KCY$-$K<:$7$F$$$k$N$G$9!#(B $B$3$N7\$HMqLdBj$rBG3+$9$k$?$a!"(Bmod_rewrite $B$G$O$A$g$C$H$7$?%H%j%C%/$r;H$C$F$$$^$9(B: $B%G%#%l%/%H%j$4$H$N%3%s%F%-%9%H$G(B URL / $B%U%!%$%kL>$NA`:n$r9T$&:]!"(B mod_rewrite $B$O$^$:%U%!%$%kL>$rBP1~$9$k(B URL $B$KLa$7(B ($B$3$l$ODL>oIT2DG=$G$9$,!"$3$l$r2DG=$K$9$k%H%j%C%/$K$D$$$F$O(B <code>RewriteBase</code> $B$r8+$F$/$@$5$$(B) $B!"$=$N?7$7$$(B URL $B$GFbItE*$K?7$7$$%5%V%j%/%(%9%H$r@8@.$7$F$$$k$N$G$9!#$3$l$G(B API $B%U%'!<%:=hM}$,:FEY5/F0$5$l$^$9!#(B <p>$B$3$N$h$&$K!"(Bmod_rewrite $B$OJ#;($J%9%F%C%W$r(B $B%f!<%6$KBP$7$FA4HL$KF)2aE*$K$7$h$&$H$,$s$P$C$F$$$^$9$,!"(B $B$H$j$"$($:0J2<$N$3$H$O3P$($F$*$/$Y$-$G$7$g$&(B: $B%5!<%P$4$H$N%3%s%F%-%9%H$K$*$1$k(B URL $BA`:n$OHs>o$K9bB.$G$+$D8zN($,NI$$$N$KBP$7!"(B $B%G%#%l%/%H%j$4$H$N=q$-49$($O!"(B $B$3$N7\$HMq$NLdBj$N$?$aCY$$>e$KDc8zN($G$9!#$7$+$7$3$l$O!"(B mod_rewrite $B$,$4$/J?6QE*$J%f!<%6$KDs6!$G$-$k!"(B ($B%m!<%+%k$K@)8B$5$l$?(B) URL $BA`:n$N$?$a$NM#0l$NJ}K!$J$N$G$9!#(B </p> </li> </ol> <p>$B$3$l$iFs$D$NE@$rK:$l$J$$$G$/$@$5$$(B!</p> <h2><a id="InternalRuleset" name="InternalRuleset">$B%k!<%k%;%C%H=hM}(B</a></h2> $B$3$l$iFs$D$N(B API $B%U%'!<%:$G(B mod_rewrite $B$,5/F0$5$l$k$H!"(B mod_rewrite $B$O$^$:<+J,<+?H$N@_DjMQ9=B$BN(B ($B$3$l$O5/F0;~$N%5!<%P$4$H$N%3%s%F%-%9%H$+!"(BApache $B%+!<%M%k$,%G%#%l%/%H%j4V$rC5:w$9$kESCf$N%G%#%l%/%H%j$4$H$N(B $B%3%s%F%-%9%H$+!"$N$$$:$l$+$K$h$j@8@.$5$l$k(B) $B$h$j9=@.$5$l$?%k!<%k%;%C%H$rFI$_9~$_$^$9!#$=$7$F$=$NCf$KF~$C$F$$$k(B $B%k!<%k%;%C%H(B ($B>r7o$rH<$&0l$D0J>e$N%k!<%k$N=8$^$j(B)$B$H$H$b$K(B URL $B=q$-49$(%(%s%8%s$,3+;O$5$l$^$9!#(BURL $B=q$-49$(%(%s%8%s<+BN$O!"(B $BAPJ}$N@_Dj%3%s%F%-%9%H$GA4$/F1$8$h$&$KF0:n$7$^$9!#(B $B:G=*7k2L$N=hM}$,0[$J$k$@$1$G$9!#(B <p>$B%k!<%k%;%C%HCf$N%k!<%k$N=q$-=g$O=EMW$G$9!#(B $B$3$l$O!"=q$-49$(%(%s%8%s$O$=$l$i$rFCJL$J(B ($B$+$D!"$"$^$jJ,$+$j$d$9$$$H$O8@$($J$$(B) $B=g=x$G=hM}$9$k$+$i$G$9!#(B $B%k!<%k$O0J2<$N$h$&$K=hM}$5$l$^$9(B: $B=q$-49$(%(%s%8%s$O%k!<%k(B (<code>RewriteRule</code>$B%G%#%l%/%F%#%V(B) $B$r0l$D$:$D$J$a$J$,$i(B $B%k!<%k%;%C%HCf$r%k!<%W$7$^$9$,!"$"$k%k!<%k$,%^%C%A$7$?$i!"(B $B$=$l$KBP1~$9$k>r7o(B (<code>RewriteCond</code>$B%G%#%l%/%F%#%V(B) $B$,$"$k4V$=$NCf$r%k!<%W$7$^$9!#(B $BNr;KE*$JM}M3$K$h$j$^$:>r7o$,M?$($i$l$k$?$a!"(B $B@)8f%U%m!<$,$A$g$C$H$/$I$/$J$C$F$$$^$9!#>\:Y$O?^(B 1 $B$r$4Mw$/$@$5$$!#(B</p> <div align="center"> <table cellspacing="0" cellpadding="2" border="0"> <tr> <td bgcolor="#CCCCCC"><img src="../images/mod_rewrite_fig1.gif" width="428" height="385" alt="[$BI=<($9$k$K$O%0%i%U%#%C%/5!G=$,I,MW$G$9(B]" /></td> </tr> <tr> <td align="center"><strong>$B?^(B 1:</strong> $B=q$-49$(%k!<%k%;%C%H$K$*$1$k@)8f%U%m!<(B</td> </tr> </table> </div> <p>$B$b$&$*J,$+$j$N$h$&$K!"$^$:(B URL $B$r3F%k!<%k$N(B <em>Pattern</em> $B$KBP$7$F%^%C%A%s%0$7$^$9!#%^%C%A$7$J$$>l9g!"(Bmod_rewrite $B$O$9$0$K$3$N%k!<%k$N=hM}$rCf;_$7$F<!$N%k!<%k$r8+$K9T$-$^$9!#(B <em>Pattern</em> $B$K%^%C%A$9$k$H!"(Bmod_rewrite $B$O$=$l$KBP1~$9$k>r7o$rC5$7$^$9!#$b$72?$b$J$1$l$P!"C1$K(B URL $B$r(B <em>Substitution</em> $BJ8;zNs$+$i:n$i$l$??7$7$$CM$KCV49$7!"(B $B%k!<%k$N%k!<%W$rB3$1$^$9!#2?$i$+$N>r7o$,$"$l$PFbIt%k!<%W$r3+;O$7!"(B $B$=$l$i$N>r7o$,Ns5s$5$l$F$$$k=g$K=hM}$r7+$jJV$7$^$9!#(B $B>r7oJ8$N>l9g$O%m%8%C%/$,0[$J$j$^$9(B: $B8=:_$N(B URL $B$KBP$7$F$O%Q%?!<%s$N%^%C%A%s%0$r9T$$$^$;$s!#$=$NBe$o$j!"(B $B$^$:JQ?t$rE83+$7!"8eJ};2>H$r9T$$!"(B $B8!:w%F!<%V%k$r%^%C%T%s%0$9$k(B<em>$B$J$I(B</em>$B$7$F(B<em>$B%F%9%HJ8;zNs(B</em> $B$r@8@.$7!"$=$l$KBP$7$F(B<em>$B>r7o%Q%?!<%s(B</em>$B$H$N%^%C%A%s%0$r9T$$$^$9!#(B $B%Q%?!<%s$K%^%C%A$7$J$$>l9g!">r7o$NAH$_9g$o$;A4BN$H$=$l$KBP1~$9$k(B $B%k!<%k$O@.N)$7$J$$$3$H$K$J$j$^$9!#%Q%?!<%s$K%^%C%A$7$?>l9g!"(B $B<!$N>r7o$,I>2A$5$l!"$=$l$,>r7o$N$"$k8B$j7+$jJV$5$l$^$9!#(B $B$b$7$9$Y$F$N>r7o$K%^%C%A$9$l$P!"(BURL $B$O(B <em>Substitution</em> $BJ8;zNs$KCV49$5$l!"=hM}$,7QB3$5$l$^$9!#(B</p> <h2><a id="quoting" name="quoting">$BFC<lJ8;z$N%/%&%)!<%H(B</a></h2> <p>Apache 1.3.20 $B$G$O!"(B<em>$B%F%9%HJ8;zNs(B</em>$B$H(B <em>Substitution</em> $BJ8;zNs$NCf$NFC<lJ8;z$O!"$=$ND>A0$K%P%C%/%9%i%C%7%e(B ('\') $B$rCV$/$3$H$G%(%9%1!<%W(B ($B$9$J$o$A!"$=$l$i$N;}$DFC<l$J0UL#$rBG$A>C$7$F!"(B $BDL>o$NJ8;z$H$7$F07$&$3$H(B) $B$G$-$k$h$&$K$J$C$F$$$^$9!#(B $BNc$($P!"(B<em>$BCV49BP>](B</em>$BJ8;zNs$NCf$G$b(B '<code>\$</code>' $B$H$$$&J8;zNs$r;H$C$FK\Mh$N%I%k5-9f$rF~$l$k$3$H$,$G$-$k$o$1$G$9!#(B $B$3$l$K$h$j!"(Bmod_rewrite $B$,$=$l$r8eJ};2>H$H$7$F07$*$&$H$9$k$N$rKI$0$3$H$,$G$-$k$o$1$G$9!#(B </p> <h2><a id="InternalBackRefs" name="InternalBackRefs">$B@55,I=8=$N8eJ};2>H$r;H$&(B</a></h2> $B$3$3$G$R$H$D3P$($F$*$$$FM_$7$$$3$H$,$"$j$^$9(B: <em>Pattern</em> $B$NCf$d(B <em>CondPattern</em> $B$N$&$A$N$I$3$+$G3g8L$r;H$($P!"J8;zNs(B <code>$N</code> $B$H(B <code>%N</code> $B$G;H$($k8eJ};2>H$,FbItE*$K@8@.$5$l$^$9(B ($B8e=R(B)$B!#$3$l$i$O(B <em>Substitution</em> $BJ8;zNs$d(B<em>$B%F%9%HJ8;zNs(B</em>$B$r@8@.$9$k$N$K;H$($^$9!#?^(B 2 $B$G$O!"$3$N8eJ};2>H$,E>Aw$5$l$FE83+$5$l$k>l=j$K$D$$$F2r@b$7$^$9!#(B <div align="center"> <table cellspacing="0" cellpadding="2" border="0"> <tr> <td bgcolor="#CCCCCC"><img src="../images/mod_rewrite_fig2.gif" width="381" height="179" alt="[$BI=<($9$k$K$O%0%i%U%#%C%/5!G=$,I,MW$G$9(B]" /></td> </tr> <tr> <td align="center"><strong>$B?^(B 2:</strong> $B%k!<%k$rDL$7$?8eJ};2>H$NN.$l(B</td> </tr> </table> </div> <p>$B$3$l$^$G$O(B mod_rewrite $B$NFbIt=hM}$K4X$9$kC;4|=8Cf%3!<%9$G$7$?!#(B $B$3$3$+$i$O;HMQ2DG=$J%G%#%l%/%F%#%V$K4X$9$k$3$H$,=q$+$l$F$$$^$9!#(B $B$=$l$i$rFI$`$H$-$K$3$3$^$G$NCN<1$,LrN)$D$O$:$G$9!#(B</p> <hr noshade="noshade" size="1" /> <center> <h1><a id="Configuration" name="Configuration">$B@_Dj%G%#%l%/%F%#%V(B</a></h1> </center> <hr noshade="noshade" size="1" /> <h3><a id="RewriteEngine" name="RewriteEngine">RewriteEngine</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteEngine on|off<br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>RewriteEngine off</code><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> FileInfo<br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2<br /> <p><code>RewriteEngine</code> $B%G%#%l%/%F%#%V$r;H$&$H!"(B $B<B9T;~$N=q$-49$(%(%s%8%s$rM-8z$K$7$?$jL58z$K$7$?$j$G$-$^$9!#$3$l$,(B <code>off</code> $B$K@_Dj$5$l$F$$$k$H!"$3$N%b%8%e!<%k$O<B9T;~$N(B $B=hM}$r0l@Z9T$$$^$;$s!#$^$?(B <code>SCRIPT_URx</code> $B4D6-JQ?t$N99?7$5$($b$7$J$/$J$j$^$9!#(B</p> <p><code>RewriteRule</code> $B$rA4It%3%a%s%H%"%&%H$7$?$j$7$J$$$G!"(B $B$3$N%G%#%l%/%F%#%V$r;H$C$F$/$@$5$$$M!#(B</p> <p>$B%G%U%)%k%H$G$O!"(Brewrite $B$N@_Dj$O7Q>5$5$l$J$$$N$GCm0U$7$F$/$@$5$$!#(B $B$D$^$j!"$3$N5!G=$r;H$$$?$$$H;W$&%P!<%A%c%k%[%9%H$4$H$K(B <code>RewriteEngine on</code> $B%G%#%l%/%F%#%V$r=q$+$J$1$l$P$$$1$J$$$H$$$&$3$H$G$9!#(B</p> <hr noshade="noshade" size="1" /> <h3><a id="RewriteOptions" name="RewriteOptions">RewriteOptions</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteOptions <em>$B%*%W%7%g%s(B</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>RewriteOptions MaxRedirects=10</code><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> FileInfo<br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2$B!#(B<code>MaxRedirects</code> $B$O(B Apache 1.3.28 $B0J9_$G;HMQ2DG=(B<br /> <p><code>RewriteOptions</code> $B%G%#%l%/%F%#%V$O!"(B $B8=:_$N%5!<%PC10L$b$7$/$O%G%#%l%/%H%jC10L$N@_Dj$G;HMQ$9$k!"(B $BFCJL$J%*%W%7%g%s$r%;%C%H$7$^$9!#(B <em>Option</em> $BJ8;zNs$O0J2<$N$$$:$l$+$G$9(B:</p> <dl> <dt><code>inherit</code></dt> <dd>$B$3$l$O!"8=:_$N@_DjCM$r?F$N@_DjCM$+$i6/@)E*$K7Q>5$5$;$^$9!#(B $B$3$l$K$h$j!"2>A[%5!<%PC10L$N%3%s%F%-%9%H$K$*$$$F!"(B $B%a%$%s%5!<%P$N%^%C%W!">r7o!"%k!<%k$,7Q>5$5$l$k$3$H$K$J$j$^$9!#(B $B$^$?!"%G%#%l%/%H%jC10L$N%3%s%F%-%9%H$G$O!"?F%G%#%l%/%H%j$N(B <code>.htaccess</code> $B@_Dj$K5-=R$5$l$F$$$k>r7o$d%k!<%k$,7Q>5$5$l$k$3$H$K$J$j$^$9!#(B</dd> <dt><code>MaxRedirects=<var>number</var></code></dt> <dd>$B%G%#%l%/%H%jKh$N(B <code>RewriteOptions</code> $B$K$h$kFbIt%j%@%$%l%/%H$N(B $BL58B%k!<%W$rKI$0$?$a$K!"(B<code>mod_rewrite</code> $B$O%j%@%$%l%/%H$N(B $B>e8B$KC#$9$k$H%j%/%(%9%H$rCf;_$7!"(B500 Internal Server Error $B$r1~Ez$H$7$F(B $BJV$7$^$9!#0l$D$N%j%/%(%9%H$KBP$7$FK\Ev$K(B 10 $B$r1[$($k%j%@%$%l%/%H$,I,MW$J(B $B>l9g$O!"K>$_$NCM$^$GA}2C$5$;$k$3$H$,$G$-$^$9!#(B</dd> </dl> <hr noshade="noshade" size="1" /> <h3><a id="RewriteLog" name="RewriteLog">RewriteLog</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteLog <em>file-path</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>$B$J$7(B</em><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B $B%P!<%A%c%k%[%9%H(B<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> <em>$BE,MQIT2D(B</em><br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2<br /> $B!!(B<p><code>RewriteLog</code> $B%G%#%l%/%F%#%V$O!"(B $B9T$J$o$l$?$9$Y$F$N=q$-49$(F0:n$r(B $B%5!<%P$,%m%0$K=q$-9~$`$?$a$N(B $B%U%!%$%kL>$r@_Dj$7$^$9!#$3$NL>A0$,%9%i%C%7%e(B ('<code>/</code>') $B$G;O$^$i$J$$>l9g$O(B <em>Server Root</em> $B$+$i$NAjBP%Q%9$G$"$k$H8+$J$5$l$^$9!#$3$N%G%#%l%/%F%#%V$O(B $B%5!<%PC10L$N@_Dj$NCf$G0lEY$@$15-=R$5$l$k$Y$-$b$N$G$9!#(B</p> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B</strong>: $B=q$-49$(F0:n$N%m%.%s%0$rM^@)$9$k$?$a$K(B <em>file-path</em> $B$r(B <code>/dev/null</code> $B$K$9$k$N$O$*4+$a$G$-$^$;$s!#$3$l$O!"(B $B=q$-49$(%(%s%8%s$O<B:]$K$O%m%0%U%!%$%k$X$N=PNO$r9T$o$J$$$N$K!"(B $BL$$@FbItE*$K$O%m%0%U%!%$%k$X$N=PNO$r@8@.$7$F$$$k$+$i$G$9!#(B <strong>$B$3$l$O4IM}<T$K2?$NMxE@$b$b$?$i$5$:$K(B $B%5!<%P$N%Q%U%)!<%^%s%9$rDc2<$5$;$k$@$1$G$9(B!</strong> $B%m%.%s%0$rM^;_$9$k>l9g$O(B <code>RewriteLog</code> $B%G%#%l%/%F%#%V$r%3%a%s%H%"%&%H$9$k$+!"(B <code>RewriteLogLevel 0</code> $B$r;H$&$h$&$K$7$F$/$@$5$$(B!</td> </tr> </table> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$B%;%-%e%j%F%#(B</strong>: $B%m%0%U%!%$%k$r3JG<$9$k%G%#%l%/%H%j$,!"(B $B%5!<%P$r5/F0$9$k%f!<%60J30$K$b=q$-9~$_2DG=$G$"$k>l9g$K!"(B $B$J$<%;%-%e%j%F%#$,6<$+$5$l$k$+$K$D$$$F$N>\$7$$@bL@$O!"(B <a href="../misc/security_tips.html">Apache $B$N%;%-%e%j%F%#$N(B $B$3$D(B</a> $B%I%-%e%a%s%H$r$4Mw$/$@$5$$!#(B</td> </tr> </table> <p><strong>$BNc(B:</strong></p> <blockquote> <pre> RewriteLog "/usr/local/var/apache/logs/rewrite.log" </pre> </blockquote> <hr noshade="noshade" size="1" /> <h3><a id="RewriteLogLevel" name="RewriteLogLevel">RewriteLogLevel</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteLogLevel <em>Level</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>RewriteLogLevel 0</code><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B $B%P!<%A%c%k%[%9%H(B<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> <em>$BE,MQIT2D(B</em><br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2<br /> <p><code>RewriteLogLevel</code> $B%G%#%l%/%F%#%V$G$O!"(B $B=q$-49$(MQ$N%m%0%U%!%$%k$N>iD9%l%Y%k$r;XDj$7$^$9!#(B $B%G%U%)%k%H$N%l%Y%k$O(B 0 $B$G!"$3$l$O0l@Z%m%0$r=q$+$J$$$3$H$r0UL#$7$^$9!#0lJ}(B 9 $B$b$7$/$O$=$l0J>e$r;XDj$9$k$H!"(B $B;v<B>e$[$H$s$I$9$Y$F$NF0:n$K$D$$$F%m%0$,<}=8$5$l$^$9!#(B</p> <p>$B=q$-49$($N%m%0$r<h$i$J$$$h$&$K$9$k$K$O!"C1$K(B <em>Level</em> $B$r(B 0 $B$K$7$^$9!#$3$l$G=q$-49$($K4X$9$k$9$Y$F$N%m%0$,L58z$H$J$j$^$9!#(B </p> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B:</strong> <em>Level</em> $B$KBg$-$JCM$r;XDj$9$k$H!"(BApache $B%5!<%P$NF0:nB.EY$,7`E*$KDc2<$7$^$9(B! $B=q$-49$(;~$N%m%0%U%!%$%k$G(B <em>Level</em> $B$K(B 2 $B0J>e$NCM$r;XDj$9$k$N$O%G%P%C%0;~$N$_$K$7$F$*$$$F$/$@$5$$(B!</td> </tr> </table> <p><strong>$BNc(B:</strong></p> <blockquote> <pre> RewriteLogLevel 3 </pre> </blockquote> <hr noshade="noshade" size="1" /> <h3><a id="RewriteLock" name="RewriteLock">RewriteLock</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteLock <em>file-path</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>$B$J$7(B</em><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> <em>$BE,MQIT2D(B</em><br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.3<br /> <p>$B$3$N%G%#%l%/%F%#%V$O!"(Bmod_rewrite $B$,(B <samp>RewriteMap</samp> <em>$B%W%m%0%i%`(B</em>$B$HDL?.$9$k$N$KI,MW$J!"(B $BF14|MQ%m%C%/%U%!%$%k$NL>A0$r%;%C%H$7$^$9!#(BRewriteMap $B$G(B $B%W%m%0%i%`$r;H$$$?$$>l9g$K$O!"$3$N%m%C%/%U%!%$%k$K(B(NFS $B%^%&%s%H$5$l$?%G%P%$%9$G$O$J$/(B)$B%m!<%+%k%Q%9$r@_Dj$7$^$9!#(B $B$=$l0J30$N%?%$%W$N(B RewriteMap $B$r;H$&>l9g$K$O!"(B $B@_Dj$9$kI,MW$O$"$j$^$;$s!#(B</p> <hr noshade="noshade" size="1" /> <h3><a id="RewriteMap" name="RewriteMap">RewriteMap</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a>$B%G%U%)%k%H$G$O;HMQ$5$l$J$$(B <br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B $B%P!<%A%c%k%[%9%H(B<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> <em>$BE,MQIT2D(B</em><br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 ($B0lIt$N$_(B), Apache 1.3<br /> <p><code>RewriteMap</code> $B%G%#%l%/%F%#%V$O!"(B $B%^%C%T%s%04X?t$r;H$C$F%k!<%kCV49J8;zNs$NFbIt$G;H$($k(B <em>$B=q$-49$(%^%C%W(B</em>$B$rDj5A$7$^$9!#$3$l$K$h$j!"(B $B%-!<$r8!:w$9$k:]$K!"%U%#!<%k%I$rA^F~$7$?$jCV49$7$?$j$G$-$^$9!#(B $B8!:wBP>]$K$O$$$m$$$m$J%?%$%W$,;H$($^$9!#(B</p> <p><a id="mapfunc" name="mapfunc"><em>MapName</em></a> $B$O%^%C%W$NL>A0$G$9!#0J2<$N=q<0$N$I$A$i$+$K$h$j!"(B $B=q$-49$(%k!<%k$NCV49J8;zNs$G;H$o$l$k(B $B%^%C%T%s%04X?t$r;XDj$9$k$N$K;H$o$l$^$9!#(B</p> <blockquote> <strong><code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em> <code>}</code><br /> <code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> <code>}</code></strong> </blockquote> $B$3$N$h$&$J=q<0$,8=$l$k$H!"(B<em>MapName</em> $B$H$$$&L>A0$N%^%C%W$NCf$N%-!<(B <em>LookupKey</em> $B$,8!:w$5$l$^$9!#(B $B%-!<$,8+$D$+$l$P!"$3$N%^%C%W4X?t$N=q<0$NItJ,$O(B <em>SubstValue</em> $B$K$h$jCV49$5$l$^$9!#%-!<$,8+$D$+$i$J$$>l9g!"(B <em>DefaultValue</em> $B$,$"$l$P$=$l$GCV49$5$l!"(B<em>DefaultValue</em> $B$,;XDj$5$l$F$$$J$1$l$P6uJ8;zNs$KCV49$5$l$^$9!#(B <p>$B0J2<$N$h$&$J(B <em>MapType</em> $B$H(B <em>MapSource</em> $B$r;H$C$?AH$_9g$o$;$r;HMQ$G$-$^$9(B:</p> <ul> <li> <strong>$BI8=`$N%W%l!<%s%F%-%9%H(B</strong><br /> MapType: <code>txt</code>, MapSource: Unix $B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9(B <p>$B$3$l$OI8=`$N=q$-49$(%^%C%W5!G=$G$9!#(B <em>MapSource</em> $B$O6uGr9T$d%3%a%s%H9T(B($B9TF,$,(B '#' $BJ8;z$G;O$^$k9T(B)$B!"<c$7$/$O0J2<$N$h$&$J(B $B%Z%"$,0l9TKh$K=q$+$l$F$$$k$h$&$JIaDL$N(B ASCII $B%U%!%$%k$G$9!#(B</p> <blockquote> <strong><em>MatchingKey</em> <em>SubstValue</em></strong> </blockquote> <p>$BNc(B:</p> <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> ## ## map.txt -- rewriting map ## Ralf.S.Engelschall rse # Bastard Operator From Hell Mr.Joe.Average joe # Mr. Average </pre> </td> </tr> </table> <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> RewriteMap real-to-user txt:/path/to/file/map.txt </pre> </td> </tr> </table> </li> <li> <strong>$B%i%s%@%`$J%W%l!<%s%F%-%9%H(B</strong><br /> MapType: <code>rnd</code>, MapSource: Unix $B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9(B <p>$B$3$l$OA0=R$NI8=`%W%l!<%s%F%-%9%H$H$[$\F1$8$G$9$,!"$=$l$K2C$($F(B $B@lMQ$N8e=hM}5!G=$r;}$C$F$$$^$9(B: $BCM$r8!:w$7$?8e!"$=$NCM$O(B ``or'' $B$N0UL#$r;}$D(B ``<code>|</code>'' $BJ8;z$K$7$?$,$C$F%Q!<%9$5$l$^$9!#(B $B$D$^$j$3$l$i$OJQ498uJd$rMeNs$7$F$*$j!"(B $B<B:]$KJV$5$l$kCM$O$3$l$i$NCf$+$i%i%s%@%`$KA*$P$l$^$9!#(B $B$3$l$O0l8+L/$J46$8$,$7$F0UL#$,$J$5$=$&$K;W$($^$9$,!"(B $B<B:]$K8!:w$7$?CM$,%5!<%PL>$K$J$k$h$&$J(B $B%j%P!<%9%W%m%-%7$rMQ$$$?Ii2YJ,;6MQ$K(B $B@_7W$5$l$F$$$^$9!#(B $BNc$($P(B:</p> <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> ## ## map.txt -- rewriting map ## static www1|www2|www3|www4 dynamic www5|www6 </pre> </td> </tr> </table> <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> RewriteMap servers rnd:/path/to/file/map.txt </pre> </td> </tr> </table> </li> <li> <strong>$B%O%C%7%e%U%!%$%k(B</strong><br /> MapType: <code>dbm</code>, MapSource: Unix $B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9(B <p>$B%U%!%$%k$NFbMF$N0UL#$O(B<em>$B%W%l!<%s%F%-%9%H(B</em>$B%U%)!<%^%C%H(B $B$HF1$8$G$9$,!"(B $B9bB.$J8!:w$r9T$&$?$a$K:GE,2=$,;\$5$l$?(B NDBM $B%U%)!<%^%C%H$H$$$&%P%$%J%j%U%!%$%k(B $B$r%=!<%9$H$7$F;H$&$3$H$b$G$-$^$9!#$3$N$h$&$J%U%!%$%k$O!"(B NDBM $B%D!<%k$r;H$C$?$j!"0J2<$N$h$&$J(B perl $B%9%/%j%W%H$r;H$C$F:n$k$3$H$,$G$-$^$9!#(B</p> <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> #!/path/to/bin/perl ## ## txt2dbm -- convert txt map to dbm format ## use NDBM_File; use Fcntl; ($txtmap, $dbmmap) = @ARGV; open(TXT, "<$txtmap") or die "Couldn't open $txtmap!\n"; tie (%DB, 'NDBM_File', $dbmmap,O_RDWR|O_TRUNC|O_CREAT, 0644) or die "Couldn't create $dbmmap!\n"; while (<TXT>) { next if (/^\s*#/ or /^\s*$/); $DB{$1} = $2 if (/^\s*(\S+)\s+(\S+)/); } untie %DB; close(TXT); </pre> </td> </tr> </table> <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> $ txt2dbm map.txt map.db </pre> </td> </tr> </table> </li> <li> <strong>$BFbIt4X?t(B</strong><br /> MapType: <code>int</code>, MapSource: $BFbIt(B Apache $B4X?t(B <p>$B%=!<%9$H$7$F!"FbIt(B Apache $B4X?t$r;H$&$3$H$b$G$-$^$9!#(B $B8=;~E@$G$O%(%s%I%f!<%6$,<+J,MQ$KFH<+$N$b$N$r:n$k$3$H$O$G$-$^$;$s$,!"(B $B0J2<$N$b$N$,MQ0U$5$l$F$$$^$9!#(B</p> <ul> <li><strong>toupper</strong>:<br /> $B8+$D$+$C$?%-!<$r$9$Y$FBgJ8;z$KJQ49$9$k!#(B</li> <li><strong>tolower</strong>:<br /> $B8+$D$+$C$?%-!<$r$9$Y$F>.J8;z$KJQ49$9$k!#(B</li> <li><strong>escape</strong>:<br /> $B8+$D$+$C$?%-!<$NCf$NFC<lJ8;z$r(B 16 $B?J%(%s%3!<%G%#%s%0$KJQ49$9$k!#(B</li> <li><strong>unescape</strong>:<br /> $B8+$D$+$C$?%-!<$NCf$N(B 16 $B?J%(%s%3!<%G%#%s%0$rFC<lJ8;z$KLa$9!#(B</li> </ul> </li> <li> <strong>$B30It$N=q$-49$(%W%m%0%i%`(B</strong><br /> MapType: <code>prg</code>, MapSource: Unix $B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9(B <p>$B%=!<%9$K$O%^%C%W%U%!%$%k0J30$K%W%m%0%i%`$r;H$&$3$H$b$G$-$^$9!#(B $B%W%m%0%i%`$O9%$-$J8@8l$rA*Br$9$k$3$H$,$G$-$^$9$,!"(B $B:n@.$5$l$?$b$N$O<B9T2DG=%U%!%$%k(B (<em>$B$9$J$o$A(B</em>$B%*%V%8%'%/%H%3!<%I!"<c$7$/$O(B 1 $B9TL\$K(B ' <code>#!/path/to/interpreter</code>' $B$N$h$&$J%^%8%C%/%/%C%-!<%H%j%C%/$NF~$C$?%9%/%j%W%H(B) $B$G$J$1$l$P$J$j$^$;$s!#(B</p> <p>$B$3$N%W%m%0%i%`$O(B Apache $B%5!<%P$N5/F0;~$K0lEY$@$15/F0$5$l!"(B <code>stdin</code> $B$*$h$S(B <code>stdout</code> $B%U%!%$%k%O%s%I%k$rDL$7$F!"=q$-49$(%(%s%8%s$H$N$d$j$H$j$r9T$$$^$9!#(B $B$3$N%W%m%0%i%`$O!"3F!9$N%^%C%W4X?t$N8!:w$N$?$S$K!"(B $B8!:wBP>]$N%-!<$r!"2~9TJ8;z$G=*C<$5$l$?J8;zNs$H$7$F(B <code>stdin</code> $B$+$i<u$1<h$j$^$9!#(B $B$=$7$F!"CM$,8+$D$+$l$P2~9TJ8;z$G=*C<$5$l$?J8;zNs$rJV$7!"(B $B8+$D$+$i$J$1$l$P(B (<em>$B$9$J$o$A(B</em>$B!"M?$($i$l$?%-!<$KBP1~$9$kCM$,$J$$(B)$B!"(B 4 $BJ8;z$NJ8;zNs(B ``<code>NULL</code>'' $B$rJV$5$J$1$l$P$J$j$^$;$s!#(B 1:1 $B$N%^%C%W(B(<em>$B$9$J$o$A(B</em>$B%-!<(B == $BCM(B) $B$r<B8=$9$kC1=c$J%W%m%0%i%`Nc$H$7$F$O!"0J2<$N$h$&$K$J$j$^$9(B:</p> <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> #!/usr/bin/perl $| = 1; while (<STDIN>) { # ...put here any transformations or lookups... print $_; } </pre> </td> </tr> </table> <p>$B$7$+$7!"==J,$K5$$r$D$1$F$[$7$$$3$H$,$"$j$^$9(B:<br /> </p> <ol> <li>``<em>Keep it simple, stupid ($BC1=c$J$^$^$K$7$F$*$1!"GO</LnO:(B!)$B!W(B</em>'' (KISS) $B$H$$$&86B'$K=>$C$F$/$@$5$$!#$b$7$3$N%W%m%0%i%`$,%O%s%0$7$F$7$^$&$H!"(B $B$=$N%k!<%k$,8=$l$?=V4V$K(B Apache $B%5!<%P<+BN$,%O%s%0$7$F$7$^$$$^$9!#(B</li> <li>$B$"$j$,$A$J4V0c$$$H$7$F$O(B: <code>stdout</code> $B$KBP$7$F%P%C%U%!$5$l$?F~=PNO$r;H$C$F$O$J$j$^$;$s(B! $B$3$l$r$d$k$HL58B%k!<%W$K%O%^$C$F$7$^$$$^$9(B! $B$@$+$i>e$N%3!<%I$G$b(B ``<code>$|=1</code>'' $B$H$d$C$F$k$s$G$9!D!#(B</li> <li><samp>RewriteLock</samp> $B%G%#%l%/%F%#%V$r;H$C$F%m%C%/%U%!%$%k$rDj5A$7!"(Bmod_rewrite $B$,Ev3:%W%m%0%i%`$X$NDL?.$KF14|$r<h$l$k$h$&$K$7$F$/$@$5$$!#(B $B%G%U%)%k%H$G$O$=$N$h$&$JF14|$O9T$o$l$^$;$s!#(B</li> </ol> </li> </ul> <code>RewriteMap</code> $B%G%#%l%/%F%#%V$O2?EY$G$b=q$/$3$H$,$G$-$^$9!#(B $B%^%C%T%s%04X?t$4$H$K(B <code>RewriteMap</code> $B$r;H$C$F=q$-49$(MQ%^%C%W%U%!%$%k$r@k8@$7$^$9!#(B $B%G%#%l%/%H%j$N%3%s%F%-%9%HFbIt$G%^%C%W$r(B<strong>$B@k8@$9$k(B</strong> $B$3$H$O$G$-$^$;$s$,!"%G%#%l%/%H%j$N%3%s%F%-%9%H$G$3$N%^%C%W$r(B <strong>$B;H$&(B</strong>$B$3$H$O$b$A$m$s2DG=$G$9!#(B <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B:</strong> $B%W%l!<%s%F%-%9%H$H(B DBM $B%U%)!<%^%C%H(B $B$N%U%!%$%k$K4X$7$F$O!"%^%C%W%U%!%$%k$N(B <code>mtime</code> $B$,JQ99$5$l$k$+$^$?$O%5!<%P$,:F5/F0$5$l$k$^$G!"(B $B8!:w$5$l$?%-!<$O%a%b%jFb$K%-%c%C%7%e$5$l$^$9!#(B $B$G$9$+$i!"(B<strong>$BKh2s$N(B</strong>$B%j%/%(%9%H$G;H$o$l$k(B $B%^%C%W4X?t$r%k!<%kFb$K=q$/$3$H$,$G$-$^$9!#(B $B30It8!:w$O0lEY$7$+9T$o$l$J$$$N$G!"$3$l$G$bBg>fIW$J$N$G$9!#(B</td> </tr> </table> <hr noshade="noshade" size="1" /> <h3><a id="RewriteBase" name="RewriteBase">RewriteBase</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteBase <em>URL-path</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>$B%G%U%)%k%H$OJ*M}(B $B%G%#%l%/%H%j$N%Q%9(B</em><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j(B, .htaccess<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> <em>FileInfo</em><br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2<br /> <p><code>RewriteBase</code> $B%G%#%l%/%F%#%V$O!"%G%#%l%/%H%j$4$H$N=q$-49$($K$*$$$F%Y!<%9$H$J$k(B URL $B$rL@<(E*$K;XDj$9$k$b$N$G$9!#0J2<$G<($9$h$&$K!"(B <code>RewriteRule</code> $B$O%G%#%l%/%H%j$4$H$N@_Dj%U%!%$%k(B (<code>.htaccess</code>) $B$G;H$($^$9!#(B $B$=$3$G$O!"$3$l$O%m!<%+%k$K?6$kIq$$$^$9!#(B<em>$B$9$J$o$A(B</em>$B!"(B $B$3$N=hM}CJ3,$G$O%m!<%+%k%G%#%l%/%H%j$N@\F,<-$,<h$j=|$+$l!"(B $B$=$N;D$j$NItJ,$KBP$7$F$N$_=q$-49$(%k!<%k$,E,MQ$5$l$^$9!#(B $B$=$7$F=q$-49$(8e!"<h$j=|$+$l$?ItJ,$,:FEY<+F0E*$K%Q%9$KIU2C$5$l$^$9!#(B </p> <p>$B?7$7$$(B URL $B$KBP$9$kCV49$,H/@8$9$k$H!"$3$N%b%8%e!<%k$OEv3:(B URL $B$r%5!<%P=hM}$K:FEjF~$7$J$1$l$P$J$j$^$;$s!#$3$l$r9T$&$K$O!"BP1~$9$k(B URL $B$N@\F,<-!"<c$7$/$O(B URL $B$N%Y!<%9$,2?$J$N$+$rCN$kI,MW$,$"$j$^$9!#(B $B%G%U%)%k%H$G$O$3$N@\F,<-$O%U%!%$%k%Q%9$=$N$b$N$KBP1~$7$F$$$^$9!#(B <strong>$B$7$+$7$J$,$i!"$[$H$s$I$N(B Web $B%5%$%H$G$O(B URL $B$OJ*M}E*$J%U%!%$%kL>$N%Q%9$rD>@\;X$7$F$$$k(B *$B$o$1$G$O$J$$(B* $B$N$G!"0lHLE*$K$3$N2>Dj$O4V0c$C$F$$$k$3$H$K$J$j$^$9(B</strong>$B!#(B $B$=$N$?$a!"(B<code>RewriteBase</code> $B%G%#%l%/%F%#%V$r;H$C$F@5$7$$(B URL $B$N@\F,<-$r;XDj$7$F$d$i$J$1$l$P$J$i$J$$$N$G$9!#(B</p> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B:</strong> $B$b$7$"$J$?$N(B Web $B%5!<%P$N(B URL $B$,J*M}E*$J%U%!%$%k%Q%9$rD>@\;X$7$F$$$k$N$G(B<strong>$B$J$1(B</strong>$B$l$P!"(B <code>RewriteRule</code> $B%G%#%l%/%F%#%V$r;H$*$&$H$7$F$$$k%G%#%l%/%H%j$9$Y$F$K$*$$$F!"3F(B <code>.htaccess</code> $B%U%!%$%k$G(B <code>RewriteBase</code> $B%G%#%l%/%F%#%V$r;H$o$J$1$l$P$J$j$^$;$s!#(B</td> </tr> </table> <p><strong>$BNc(B:</strong></p> <blockquote> $B0J2<$O!"%G%#%l%/%H%j$4$H$N@_Dj%U%!%$%k$@$H;W$C$F$/$@$5$$!'(B <table border="0" cellspacing="1" cellpadding="5" bgcolor="#F0F0F0"> <tr> <td> <pre> # # /abc/def/.htaccess -- $B%G%#%l%/%H%j(B /abc/def $B$N$?$a$N%G%#%l%/%H%jJL@_Dj%U%!%$%k(B # $B;29M!'(B/abc/def $B$O(B $B%Q%9(B /xyz $B$NJ*M}%Q%9L>$G$"$k!#(B<em>$B$9$J$o$A(B</em>$B%5!<%P$K$O(B # 'Alias /xyz /abc/def' <em>$B$H$$$C$?(B</em>$B%G%#%l%/%F%#%V$N@_Dj$,$"$k!#(B # RewriteEngine On # $BJ*M}E*$J%Q%9$N@\F,<-$G$"$k(B /abc/def $B$G$J$/!"(B/xyz $B$rDL$7$F(B # $B%"%/%;%9$7$F$$$k$3$H$r%5!<%P$KCN$i$;$k!#(B RewriteBase /xyz # $B$3$l$,=q$-49$(%k!<%k(B RewriteRule ^oldstuff\.html$ newstuff.html </pre> </td> </tr> </table> <p>$B>e5-$NNc$G$O!"(B<code>/xyz/oldstuff.html</code> $B$X$N%j%/%(%9%H$GJ*M}%U%!%$%k(B <code>/abc/def/newstuff.html</code> $B$X$N@5$7$$=q$-49$(A`:n$,9T$o$l$^$9!#(B</p> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td> <font size="-1"><strong>Apache $B%O%C%+!<$N$?$a$NCm<a(B:</strong><br /> $B0J2<$N%j%9%H$G<($7$F$$$k$N$O!"(B $BFbIt=hM}%9%F%C%W$K4X$9$k>\:Y>pJs$G$9(B:</font> <pre> <font size="-1">$B%j%/%(%9%H(B: /xyz/oldstuff.html $BFbIt=hM}!'(B /xyz/oldstuff.html -> /abc/def/oldstuff.html (per-server Alias) /abc/def/oldstuff.html -> /abc/def/newstuff.html (per-dir RewriteRule) /abc/def/newstuff.html -> /xyz/newstuff.html (per-dir RewriteBase) /xyz/newstuff.html -> /abc/def/newstuff.html (per-server Alias) $B=hM}7k2L!'(B /abc/def/newstuff.html </font> </pre> <font size="-1">$B$3$l$OHs>o$KJ#;($K8+$($k$b$N$N!"(BApache $B$NFbIt=hM}$K4X$9$k@5$7$$F0$-$G$9!#$J$<$J$i!"(B $B%G%#%l%/%H%jC10L$N=q$-49$(A`:n$O=hM}$NCf$K$*$$$F(B $BMh$k$N$,CY$9$.$k$+$i$G$9!#$=$N$?$a=q$-49$($,9T$J$o$l$k$H!"(B ($B=q$-49$($,9T$o$l$?(B)$B%j%/%(%9%H$O(B Apache $B%+!<%M%k$NCf$K:FEjF~$5$l$J$1$l$P$J$j$^$;$s(B! $B$7$+$7(B: $B$3$l$O?<9o$J%*!<%P!<%X%C%I$rH<$&$h$&$K8+$($k$b$N$N!"(B $B<B:]$K$OBg$7$?;v$O$"$j$^$;$s!#$3$N:FEjF~$O40A4$K(B Apache $B%5!<%P$NFbIt$G5/$3$k;v$G$"$j!"(BApache $B$NFbIt$K$*$1$k$=$NB>$NB?$/$NF0:nCf$K$bF1MM$N$3$H$,(B $B5/$3$C$F$$$k$+$i$G$9!#$J$N$G!"(B $B$3$N@_7W$H<BAu$O@5$7$$$b$N$J$N$G$9!#(B </font> </td> </tr> </table> </blockquote> <hr noshade="noshade" size="1" /> <h3><a id="RewriteCond" name="RewriteCond">RewriteCond</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteCond <em>TestString</em> <em>CondPatter</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>$B$J$7(B</em><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> <em>FileInfo</em><br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 ($BItJ,E*$K(B), Apache 1.3<br /> <p><code>RewriteCond</code> $B%G%#%l%/%F%#%V$O%k!<%k>r7o$rDj5A$7$^$9!#(B <code>RewriteRule</code> $B%G%#%l%/%F%#%V$NA0$K0l$D0J>e$N(B <code>RewriteCond</code> $B%G%#%l%/%F%#%V$rCV$/$3$H$,$G$-$^$9!#(B $B$=$l0J9_$N=q$-49$(%k!<%k$O!"$=$N%Q%?!<%s$,8=:_$N(B URI $B$N>uBV$H%^%C%A$7!"(B<strong>$B$+$D(B</strong>$B$3$l$i$NDI2C>r7o$,(B $BE,MQ$5$l$k>l9g$K$N$_;H$o$l$^$9!#(B</p> <p><em>TestString</em>$B$OJ8;zNs$G$"$j!"%W%l!<%s%F%-%9%H$K2C$(!"(B $B0J2<$N3HD%9=B$$r;}$D$3$H$,$G$-$^$9(B:</p> <ul> <li> <strong>RewriteRule $B8eJ};2>H(B</strong>: $B$3$N=q<0$G!"8eJ};2>H$rI=$7$^$9!#(B <blockquote> <strong><code>$N</code></strong> </blockquote> (0 <= N <= 9) $B$3$l$O!"BP1~$9$k(B <code>RewriteRule</code> $B%G%#%l%/%F%#%V(B($B8=:_$N(B<code>RewriteCond</code> $B%G%#%l%/%F%#%V$N%V%m%C%/$N<!$K$"$k$b$N(B)$B$N(B ($B3g8L$G0O$s$G(B)$B%0%k!<%W2=$5$l$?%Q%?!<%s$X$N%"%/%;%9$rDs6!$7$^$9!#(B </li> <li> <strong>RewriteCond $B8eJ};2>H(B</strong>: $B$3$N=q<0$G!"8eJ};2>H$rI=$7$^$9!#(B <blockquote> <strong><code>%N</code></strong> </blockquote> (1 <= N <= 9) $B$3$l$O!"8=:_$N>r7o%V%m%C%/$NCf$G(B<code>RewriteCond</code> $B%G%#%l%/%F%#%V(B $B$K:G8e$K%^%C%A$7$?(B ($B3g8L$G0O$s$G(B)$B%0%k!<%W2=$5$l$?%Q%?!<%s$X$N%"%/%;%9$rDs6!$7$^$9!#(B </li> <li> <strong>RewriteMap $B3HD%(B</strong>: $B$3$N=q<0$G!"3HD%$rI=$7$^$9!#(B <blockquote> <strong><code>${mapname:key|default}</code></strong> </blockquote> $B>\:Y$O(B <a href="#mapfunc">RewriteMap $B$N%I%-%e%a%s%H(B</a>$B$r;2>H$N$3$H!#(B </li> <li> <strong>$B%5!<%PJQ?t(B</strong>: $B0J2<$OJQ?t$rI=$7$^$9!#(B <blockquote> <strong><code>%{</code> <em>$BJQ?tL>(B</em> <code>}</code></strong> </blockquote> <em>$BJQ?tL>(B</em>$B$O0J2<$N0lMw$K$"$kJ8;zNs$N$$$:$l$+$G$9(B: <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5"> <tr> <td valign="top"> <strong>HTTP $B%X%C%@(B:</strong> <p><font size="-1">HTTP_USER_AGENT<br /> HTTP_REFERER<br /> HTTP_COOKIE<br /> HTTP_FORWARDED<br /> HTTP_HOST<br /> HTTP_PROXY_CONNECTION<br /> HTTP_ACCEPT<br /> </font></p> </td> <td valign="top"> <strong>$B%3%M%/%7%g%s(B & $B%j%/%(%9%H(B:</strong> <p><font size="-1">REMOTE_ADDR<br /> REMOTE_HOST<br /> REMOTE_USER<br /> REMOTE_IDENT<br /> REQUEST_METHOD<br /> SCRIPT_FILENAME<br /> PATH_INFO<br /> QUERY_STRING<br /> AUTH_TYPE<br /> </font></p> </td> </tr> <tr> <td valign="top"> <strong>$B%5!<%PFbItJQ?t(B:</strong> <p><font size="-1">DOCUMENT_ROOT<br /> SERVER_ADMIN<br /> SERVER_NAME<br /> SERVER_ADDR<br /> SERVER_PORT<br /> SERVER_PROTOCOL<br /> SERVER_SOFTWARE<br /> </font></p> </td> <td valign="top"> <strong>$B%7%9%F%`4XO"(B:</strong> <p><font size="-1">TIME_YEAR<br /> TIME_MON<br /> TIME_DAY<br /> TIME_HOUR<br /> TIME_MIN<br /> TIME_SEC<br /> TIME_WDAY<br /> TIME<br /> </font></p> </td> <td valign="top"> <strong>$BFC<l$J$b$N(B:</strong> <p><font size="-1">API_VERSION<br /> THE_REQUEST<br /> REQUEST_URI<br /> REQUEST_FILENAME<br /> IS_SUBREQ<br /> </font></p> </td> </tr> </table> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td> <p><strong>$BCm0U(B:</strong> $B$3$l$i$NJQ?t$O!"$9$Y$FF1MM$NL>A0$r;}$D(B HTTP MIME $B%X%C%@$d(B Apache $B%5!<%P$N(B C $BJQ?t!"$^$?$O(B Unix $B%7%9%F%`$N(B <code>struct tm</code> $B%U%#!<%k%I$KBP1~$7$^$9!#(B $B$[$H$s$I$N$b$N$O!"%^%K%e%"%k$d(B CGI $B;EMM$N$I$3$+$K@bL@$,$"$j$^$9!#$3$NCf$G(B mode_rewrite $B$GFCJL$J0UL#$r;}$D$b$N$K0J2<$N$b$N$,$"$j$^$9(B:</p> <dl> <dt><code>IS_SUBREQ</code></dt> <dd>$B$3$l$O!"%5%V%j%/%(%9%H$r=hM}Cf$O(B "true" $B$K!"$=$&$G$J$1$l$P(B "false" $B$K$J$j$^$9!#(B $BM?$($i$l$?%?%9%/$r40N;$9$k$?$a$KDI2C$N%U%!%$%k$d(B URI $B$r2r7h$9$kI,MW$,$"$k%b%8%e!<%k$O!"(B $B%5%V%j%/%(%9%H$r@8@.$9$k>l9g$,$"$j$^$9!#(B</dd> <dt><code>API_VERSION</code></dt> <dd>$B$3$l$O8=:_$N(B httpd $B$N%S%k%I$K$*$1$k(B Apache $B%b%8%e!<%k(B API($B%5!<%P$H%b%8%e!<%k4V$NFbIt%$%s%?!<%U%'!<%9(B) $B$N%P!<%8%g%s$G$"$j!"(Binclude/ap_mmn.h $B$GDj5A$5$l$F$$$^$9!#(B $B%b%8%e!<%k(B API $B$N%P!<%8%g%s$O;HMQ$7$F$$$k(B Apache $B$N%P!<%8%g%s(B($BNc$($P(B Apche 1.3.14 $B$G$"$l$P(B 19990320:10) $B$KBP1~$7$^$9$,!"(B $B$3$l$O<g$K%b%8%e!<%k$N:n<T$,4X?4$r;}$D$b$N$G$9!#(B</dd> <dt><code>THE_REQUEST</code></dt> <dd>$B%V%i%&%6$+$i%5!<%P$KAw$i$l$?(B HTTP $B%j%/%(%9%H$N40A4$J$b$N(B($BNc$($P!"(B "<code>GET /index.html HTTP/1.1</code>")$B!#(B $B$3$l$K$O!"%V%i%&%6$+$iAw$i$l$?DI2C%X%C%@$O0l@Z4^$_$^$;$s!#(B </dd> <dt><code>REQUEST_URI</code></dt> <dd>HTTP $B%j%/%(%9%H9T$G%j%/%(%9%H$5$l$?%j%=!<%9(B ($B>e5-$NNc$G$O(B "/index.html" $B$,$=$l$K$"$?$j$^$9(B)$B!#(B</dd> <dt><code>REQUEST_FILENAME</code></dt> <dd>$B%j%/%(%9%H$K%^%C%A$7$?%U%!%$%k$^$?$O%9%/%j%W%H$N!"(B $B40A4$J%m!<%+%k%U%!%$%k%7%9%F%`$N%Q%9!#(B</dd> </dl> </td> </tr> </table> </li> </ul> <p>$B9MN8;v9`(B:</p> <ol> <li>SCRIPT_FILENAME $B$*$h$S(B REQUEST_FILENAME $B$K$OF1$8L>A0!"(B <em>$B$9$J$o$A(B</em>$B!"(BApache $B%5!<%P$N(B <code>request_rec</code> $BFbIt9=B$BN$NCf$N(B <code>filename</code> $B%U%#!<%k%I$NCM$,F~$C$F$$$^$9!#A0<T$OC1$K$h$/CN$i$l$F$$$k(B CGI $BJQ?tL>$G$"$k$N$KBP$7!"8e<T$O(B (<code>request_rec</code> $B%U%#!<%k%I$N(B <code>uri</code> $B$NCM$,F~$C$F$$$k(B)REQUEST_URI $B$KBP1~$9$k$b$N$G$9!#(B</li> <li><em>$BJQ?t(B</em>$B$KG$0U$N4D6-JQ?t$r;XDj$G$-$kFCJL$J=q<0(B <code>%{ENV:$BJQ?t(B}</code> $B$,$"$j$^$9!#$3$l$O(B Apache $B$NFbIt9=B$BN<c$7$/$O(B($B$=$3$KB8:_$7$J$1$l$P(B)Apache $B%5!<%P%W%m%;%9$,H/9T$9$k(B <code>getenv()</code> $B$rDL$7$F8!:w$5$l$^$9!#(B</li> <li> <em>$B%X%C%@(B</em>$B$KG$0U$N(B HTTP MIME $B%X%C%@L>$r;XDj$G$-$kFCJL$J=q<0(B <code>%{HTTP:$B%X%C%@(B}</code>$B$,$"$j$^$9!#$3$l$O(B HTTP $B%j%/%(%9%H$+$i8!:w$5$l$^$9!#(B $BNc(B: <code>%{HTTP:Proxy-Connection}</code> $B$O(B HTTP $B%X%C%@$N(B ``<code>Proxy-Connection:</code>'' $B$NCM$G$9!#(B</li> <li>$BA0J};2>H$r9T$J$C$FFbIt$N(B(URL $B%Y!<%9$N(B) $B%5%V%j%/%(%9%H$r<B9T$7$F(B<em>$BJQ?t(B</em>$B$N:G=*CM$r7hDj$9$kFCJL$J=q<0(B <code>%{LA-U:$BJQ?t(B}</code> $B$,$"$j$^$9!#(B $B<B:]$K$O(B API $B%U%'!<%:$N8e$N$[$&$G%;%C%H$5$l$k$?$a$K!"(B $B8=;~E@$G$O%"%/%;%9$G$-$J$$$h$&$JJQ?t$r;H$C$F=q$-49$($r(B $B9T$J$$$?$$>l9g$K;HMQ$7$^$9!#Nc$($P!"%5!<%PC10L$N%3%s%F%-%9%H(B (<code>httpd.conf</code> $B%U%!%$%k(B) $B$G(B <code>REMOTE_USER</code> $BJQ?t$K$7$?$,$C$F=q$-49$($r9T$$$?$$>l9g$K$O!"(B <code>%{LA-U:REMOTE_USER}</code> $B$r;HMQ$7$J$1$l$P$J$j$^$;$s!#$J$<$J$i!"$3$NJQ?t$O(B mod_rewrite $B$,F0:n$9$k(B URL $BJQ49%U%'!<%:$N(B<em>$B8e(B</em>$B$K$"$kG'>Z%U%'!<%:$G(B $B%;%C%H$5$l$k$b$N$@$+$i$G$9!#0lJ}!"%G%#%l%/%H%jC10L$N%3%s%F%-%9%H(B (<code>.htaccess</code> $B%U%!%$%k(B) $B$G$O!"(Bmod_rewrite $B$O(B API $B$N(B Fixup $B%U%'!<%:$rDL$7$F<BAu$5$l$F$*$j!"(B $BG'>Z%U%'!<%:$O$3$N%U%'!<%:$N(B<em>$BA0(B</em>$B$K9T$J$o$l$k$?$a!"(B $B$=$3$G$OC1$K(B <code>%{REMOTE_USER}</code> $B$H$9$k$3$H$,$G$-$k$^$9!#(B</li> <li>$BFbIt$N(B($B%U%!%$%kL>%Y!<%9$N(B) $B%5%V%j%/%(%9%H$r<B9T$7$F(B<em>$BJQ?t(B</em>$B$N:G=*CM$r7hDj$9$kFCJL$J=q<0(B <code>%{LA-F:$BJQ?t(B}</code> $B$,$"$j$^$9!#(B $B$[$H$s$I$N>l9g$3$l$OA0=R$N(B LA-U $B$HF1$8$G$9!#(B</li> </ol> <p><em>CondPattern</em> $B$O!">r7o%Q%?!<%s$G!"(B $B8=:_$N(B <em>TestString</em> $B$N<BBN$KBP$7$FE,MQ$5$l$k@55,I=8=$G$9!#(B <em>TestString</em> $B$OI>2A$5$l$?8e$K(B <em>CondPattern</em>$B$KBP$7$F(B $B%^%C%A%s%0$,9T$J$o$l$^$9!#(B</p> <p><strong>$BHw9M(B:</strong> <em>CondPattern</em>$B$O!"(B $BI8=`$N(B<em>$B3HD%@55,I=8=(B</em>$B$K$$$/$D$+DI2C$r9T$C$?$b$N$G$9(B:</p> <ol> <li>'<code>!</code>' $BJ8;z(B($B%(%/%9%/%i%a!<%7%g%s%^!<%/(B) $B$r%Q%?!<%sJ8;zNs$NA0$K$D$1$k$3$H$G!"(B $B%^%C%A(B<strong>$B$7$J$$(B</strong>$B%Q%?!<%s$r;XDj$G$-$^$9!#(B</li> <li> <em>CondPattern</em> $B$N$A$g$C$H$7$?JQ<o$b$"$j$^$9!#(B $B<B:]$N@55,I=8=J8;zNs$NBe$o$j$K0J2<$N$h$&$K;H$&$3$H$,$G$-$^$9(B: <ul> <li>'<strong><CondPattern</strong>' ($B;z6g$NJB$SE*$K!"$h$j>.$5$$(B)<br /> <em>CondPattern</em> $B$rC1$J$kJ8;zNs$H$7$F07$$!"(B $B;z6g$NJB$S$H$7$F(B <em>TestString</em> $B$HHf3S$7$^$9!#(B <em>TestString</em> $B$,;z6g$NJB$S$H$7$F(B <em>CondPattern</em> $B$h$j>.$5$$>l9g$K??$K$J$j$^$9!#(B</li> <li>'<strong>>CondPattern</strong>' ($B;z6g$NJB$SE*$K!"$h$jBg$-$$(B)<br /> <em>CondPattern</em> $B$rC1$J$kJ8;zNs$H$7$F07$$!"(B $B;z6g$NJB$S$H$7$F(B <em>TestString</em> $B$HHf3S$7$^$9!#(B <em>TestString</em> $B$,;z6g$NJB$S$H$7$F(B <em>CondPattern</em> $B$h$jBg$-$$>l9g$K??$K$J$j$^$9!#(B</li> <li>'<strong>=CondPattern</strong>' ($B;z6g$NJB$SE*$KEy$7$$(B)<br /> <em>CondPattern</em> $B$rC1$J$kJ8;zNs$H$7$F07$$!"(B $B;z6g$NJB$S$H$7$F(B <em>TestString</em> $B$HHf3S$7$^$9!#(B <em>TestString</em> $B$,;z6g$NJB$S$H$7$F(B <em>CondPattern</em> $B$HEy$7$$>l9g!"$9$J$o$A!"Fs$D$NJ8;zNs$,(B (1 $BJ8;z$:$DHf3S$7$F(B)$B@53N$KEy$7$$>l9g$K??$K$J$j$^$9!#(B $B$b$7(B <em>CondPattern</em> $B$,C1$J$k(B<samp>""</samp> ($BFs$D$N0zMQId(B)$B$G$"$l$P!"(B <em>TestString</em> $B$O6uJ8;zNs$HHf3S$5$l$^$9!#(B</li> <li>'<strong>-d</strong>' ($B%G%#%l%/%H%j(B (<strong>d</strong>irectory))<br /> <em>TestString</em> $B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"(B $B$+$D%G%#%l%/%H%j$G$"$l$P??!#(B</li> <li>'<strong>-f</strong>' ($BDL>o$N%U%!%$%k(B (<strong>f</strong>ile))<br /> <em>TestString</em> $B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"(B $B$+$DDL>o$N%U%!%$%k$G$"$l$P??!#(B</li> <li>'<strong>-s</strong>' ($BBg$-$5(B (<strong>s</strong>ize) $B$N$"$kDL>o$N%U%!%$%k(B)<br /> <em>TestString</em> $B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"(B $B$+$DBg$-$5$,(B 0 $B$h$jBg$-$$DL>o%U%!%$%k$G$"$l$P??!#(B</li> <li>'<strong>-l</strong>' ($B%7%s%\%j%C%/%j%s%/(B (symbolic <strong>l</strong>ink))<br /> <em>TestString</em> $B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"(B $B$+$D%7%s%\%j%C%/%j%s%/$G$"$l$P??!#(B</li> <li>'<strong>-F</strong>' ($B%5%V%j%/%(%9%H$rDL$7$?4{B8%U%!%$%k(B) <br /> <em>TestString</em> $B$,M-8z$J%U%!%$%k$G$"$k$3$H!"(B $B$=$7$F$3$N%5!<%P$K$*$$$F!"8=;~E@$G@_Dj$5$l$F$$$k$9$Y$F$N(B $B%"%/%;%9@)8f$rDL$7$F!"$=$N%Q%9L>$G%"%/%;%9$G$-$k$+$I$&$+$r(B $B%A%'%C%/$7$^$9!#$3$l$OFbIt$N%5%V%j%/%(%9%H$r;H$C$F(B $B%A%'%C%/$r9T$&$N$G!"Cm0U$7$F;H$o$J$$$H%5!<%P$N(B $B%Q%U%)!<%^%s%9$rDc2<$5$;$k$3$H$K$J$j$+$M$^$;$s(B!</li> <li>'<strong>-U</strong>' ($B%5%V%j%/%(%9%H$rDL$7$?4{B8(B URL) <br /> <em>TestString</em> $B$,M-8z$J(B URL $B$G$"$k$3$H!"(B $B$=$7$F$3$N%5!<%P$K$*$$$F!"8=;~E@$G@_Dj$5$l$F$$$k$9$Y$F$N(B $B%"%/%;%9@)8f$rDL$7$F!"$=$N%Q%9L>$G%"%/%;%9$G$-$k$+$I$&$+$r(B $B%A%'%C%/$7$^$9!#$3$l$OFbIt$N%5%V%j%/%(%9%H$r;H$C$F(B $B%A%'%C%/$r9T$&$N$G!"Cm0U$7$F;H$o$J$$$H%5!<%P$N(B $B%Q%U%)!<%^%s%9$rDc2<$5$;$k$3$H$K$J$j$+$M$^$;$s(B!</li> </ul> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B: </strong>$B0J>e$9$Y$F$N%F%9%H$K$D$$$F!"(B $B%(%/%9%/%i%a!<%7%g%s%^!<%/(B ('!') $B$rA0$KCV$/$3$H$K$h$j(B $B$=$l$i$N0UL#$rH]Dj$7$?%^%C%A%s%0$r9T$J$&$3$H$,$G$-$^$9!#(B</td> </tr> </table> </li> </ol> <p>$B$5$i$K!"(B<code>RewriteCond</code> $B%G%#%l%/%F%#%V$X$NBh;00z?t$H$7$F(B <em>CondPattern</em> $B$KFCJL$J(B</p> <blockquote> <strong><code>[</code><em>$B%U%i%0(B</em><code>]</code></strong> </blockquote> $B$rDI2C$9$k$3$H$,$G$-$^$9(B <em>$B%U%i%0(B</em>$B$O0J2<$N$b$N$r%+%s%^6h@Z$j$GJB$Y$?$b$N$G$9(B: <ul> <li>'<strong><code>nocase|NC</code></strong>' (<strong>n</strong>o <strong>c</strong>ase)<br /> $B$3$l$OBgJ8;z>.J8;z$r6hJL$;$:$K%F%9%H$7$^$9!#(B<em>$B$9$J$o$A!"(B</em> $BE83+$5$l$?(B<em>TestString</em> $B$H(B <em>CondPattern</em> $B$K$*$$$F!"(B 'A-Z' $B$*$h$S(B 'a-z' $B$N4V$K$O0c$$$O$J$$$b$N$H8+$J$5$l$^$9!#(B $B$3$N%U%i%0$O(B<em>TestString</em> $B$H(B <em>CondPattern</em> $B$N4V$N(B $BHf3S$K$*$$$F$N$_M-8z$G$9!#%U%!%$%k%7%9%F%`>e$*$h$S%5%V%j%/%(%9%H(B $B$N%A%'%C%/$G$O0UL#$r;}$A$^$;$s!#(B</li> <li> '<strong><code>ornext|OR</code></strong>' (<strong>or</strong> next condition)<br /> $B%k!<%k>r7o$r7k9g$9$k$K$"$?$j!"0EL[$N(B AND $B$NBe$o$j$K%m!<%+%k$N(B OR $B$r;H$$$^$9!#E57?E*$JNc$H$7$F!"0J2<$r;2>H$7$F$/$@$5$$!'(B <blockquote> <pre> RewriteCond %{REMOTE_HOST} ^host1.* [OR] RewriteCond %{REMOTE_HOST} ^host2.* [OR] RewriteCond %{REMOTE_HOST} ^host3.* RewriteRule ...$B$3$l$i$N%[%9%H$K4X$9$kFCJL$J=hM}(B </pre> </blockquote> $B$3$N%U%i%0$r;H$o$J$$>l9g$O!">r7o(B/$B%k!<%k$r(B 3 $B2s=q$/$3$H$K$J$C$F$7$^$$$^$9!#(B </li> </ul> <p><strong>$B;HMQNc(B:</strong></p> <blockquote> $B%j%/%(%9%H$NCf$N(B ``<code>User-Agent:</code>'' $B%X%C%@$K=>$C$F(B $B%5%$%H$N%[!<%`%Z!<%8$N=q$-49$($r9T$J$&$K$O!"0J2<$N$h$&$K$7$^$9!'(B <blockquote> <pre> RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* RewriteRule ^/$ /homepage.max.html [L] RewriteCond %{HTTP_USER_AGENT} ^Lynx.* RewriteRule ^/$ /homepage.min.html [L] RewriteRule ^/$ /homepage.std.html [L] </pre> </blockquote> $B2r<a(B: $B%V%i%&%6$H$7$F(B($B<+J,<+?H$G(B 'Mozilla' $B$HL>>h$C$F$$$k(B) $B%M%C%H%9%1!<%W%J%S%2!<%?$r;H$&>l9g!"%U%l!<%`(B<em>$B$J$I(B</em>$B$r4^$`(B max $B$N%[!<%`%Z!<%8$r8+$k$3$H$K$J$j$^$9!#(B($BC<Kv%Y!<%9$N(B) Lynx $B%V%i%&%6$r;H$&>l9g$O!"2hA|$d%F!<%V%k(B<em>$B$J$I(B</em>$B$r4^$^$J$$(B min $B$N%[!<%`%Z!<%8$,I=<($5$l$^$9!#$=$l0J30$N%V%i%&%6$N>l9g$OI8=`(B (std) $B$N%Z!<%8$,I=<($5$l$^$9!#(B </blockquote> <hr noshade="noshade" size="1" /> <h3><a id="RewriteRule" name="RewriteRule">RewriteRule</a></h3> <a href="directive-dict.html#Syntax" rel="Help"><strong>$B=q<0(B:</strong></a> RewriteRule <em>Pattern</em> <em>Substitution</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>$B$J$7(B</em><br /> <a href="directive-dict.html#Context" rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> <a href="directive-dict.html#Override" rel="Help"><strong>$B%*!<%P!<%i%$%I(B:</strong></a> <em>FileInfo</em><br /> <a href="directive-dict.html#Status" rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Extension<br /> <a href="directive-dict.html#Module" rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_rewrite.c<br /> <a href="directive-dict.html#Compatibility" rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 (partially), Apache 1.3<br /> <p><code>RewriteRule</code> $B%G%#%l%/%F%#%V$O!"<B:]$N=q$-49$($rC4Ev$7$F$/$l$kGO<VGO$G$9!#(B $B$3$N%G%#%l%/%F%#%V$OJ#?t2s=q$/$3$H$,$G$-$^$9!#(B $B3F%G%#%l%/%F%#%V$O0l$D$N=q$-49$(%k!<%k$rDj5A$7$^$9!#(B $B$3$l$i%k!<%k$r(B<strong>$BDj5A$9$k=g=x(B</strong>$B$O=EMW$G$9!#(B $B$J$<$J$i!"<B9T;~$K%k!<%k$rE,MQ$9$k:]!"$3$N=g=x$G9T$J$o$l$k$+$i$G$9!#(B </p> <p><a id="patterns" name="patterns"><em>Pattern</em></a> $B$O8=:_$N(B URL $B$KE,MQ$5$l$k(B (Apache 1.1.x $B$G$O(B System V8$B!"(BApache 1.2.x $B0J9_$G$O(B POSIX $B$N(B)<a id="regexp" name="regexp">$B@55,I=8=(B</a>$B$G$9!#(B $B$3$3$G!V8=:_$N!W$H8@$C$F$$$k$N$O!"%k!<%k$,E,MQ$5$l$k:]$N(B URL $B$NCM$N$3$H$G$9!#$3$l$O%j%/%(%9%H$5$l$?%*%j%8%J%k$N(B URL $B$G$"$k$H$O8B$j$^$;$s!#4{$K?tB?$/$N%k!<%k$,%^%C%A$7$F!"(B $B$=$l$r=q$-49$($?8e$+$b$7$l$J$$$+$i$G$9!#(B</p> <p>$B@55,I=8=$NJ8K!$K4X$9$k%R%s%H(B:</p> <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5"> <tr> <td valign="top"> <pre> <strong>$B%F%-%9%H(B: </strong> <strong><code>.</code></strong> $BG$0U$N0lJ8;z(B <strong><code>[</code></strong>chars<strong><code>]</code></strong> $BJ8;z%/%i%9(B: $B$$$:$l$+$NJ8;z(B <strong><code>[^</code></strong>chars<strong><code>]</code></strong> $BJ8;z%/%i%9(B: $B$3$l$i0J30$NJ8;z(B text1<strong><code>|</code></strong>text2 $BA*Br;h(B: text1 $B$^$?$O(B text2 <strong>$BJ8;z?t;XDj(B:</strong> <strong><code>?</code></strong> $BD>A0$NJ8;z$N(B 0 $B2s$^$?$O(B 1 $B2s$N7+$jJV$7(B <strong><code>*</code></strong> $BD>A0$NJ8;z$N(B 0 $B2s0J>e$N7+$jJV$7(B <strong><code>+</code></strong> $BD>A0$NJ8;z$N(B 1 $B2s0J>e$N7+$jJV$7(B <strong>$B%0%k!<%T%s%0(B:</strong> <strong><code>(</code></strong>text<strong><code>)</code></strong> $B%F%-%9%H$N%0%k!<%T%s%0(B ($BA*Br;h$N6-3&$rL@<($9$k!"<c$7$/$O8eJ};2>H$r:n@.$9$k$?$a$K;H$&!#(B <strong>N</strong>$BHVL\$N%0%k!<%W$O!"(BRewriteRule $B$N1&B&$NI=8=$G(B<code>$</code><strong>N</strong>$B$H$7$F;2>H$9$k$3$H$,2DG=!#!K(B <strong>$BJ8;z0LCV$N;XDj(B:</strong> <strong><code>^</code></strong> $B9TF,(B <strong><code>$</code></strong> $B9TKv(B <strong>$B%(%9%1!<%W(B:</strong> <strong><code>\</code></strong>char $BFC<lJ8;z$r%(%9%1!<%W(B($B8z2L$rBG$A>C$9(B)$B$9$k(B ($BNc$($P(B "<code>.[]()</code>" <em>$B$J$I(B</em>) </pre> </td> </tr> </table> <p>$B@55,I=8=$K4X$9$k>pJs$O!"%m!<%+%k$N(B regex(3) man $B%Z!<%8$+$^$?$O(B Apache 1.3 $B$NG[I[J*$K4^$^$l$k(B<code>src/regex/regex.3</code> $B$r;2>H$7$F$/$@$5$$!#$b$7@55,I=8=$d$=$NJQ<o(B (POSIX $B@55,I=8=!"(B Perl $B@55,I=8=(B <em>$B$J$I(B</em>)$B$K6=L#$,$"$l$P!"0J2<$N@lLg=q$r$4Mw2<$5$$(B:</p> <blockquote> <em>Mastering Regular Expressions</em><br /> Jeffrey E.F. Friedl<br /> Nutshell Handbook Series<br /> O'Reilly & Associates, Inc. 1997<br /> ISBN 1-56592-257-3<br /> </blockquote> <p>($BLuCm(B: $BBh(B2$BHG$NF|K\8lHG(B)</p> <blockquote> <em>$B>\@b(B $B@55,I=8=(B $BBh(B2$BHG(B</em><br /> Jeffrey E. F. Friedl $BCx(B<br /> $BEDOB(B $B>!(B $BLu(B<br /> $B%*%i%$%j!<!&%8%c%Q%s(B 2003<br /> ISBN 4-87311-130-7<br /> </blockquote> <p>$B$5$i$K!"(Bmod_rewrite $B$G$O%Q%?!<%s$NA0$K(B NOT $BJ8;z(B('<code>!</code>') $B$,;H$($^$9!#$3$l$G8eB3$N%Q%?!<%s$rH]Dj$9$k$3$H$,$G$-$^$9!#(B $BNc$($F$$$&$J$i$P!"(B``<em>$B$b$78=:_$N(B URL $B$,$3$N%Q%?!<%s$K%^%C%A(B<strong>$B$7$J$1$l$P(B</strong></em>'' $B$H$$$&$3$H$G$9!#$3$l$O!"H?BP$N%Q%?!<%s$rI=$9J}$,4JC1$@$C$?$j!"(B $B:G8e$N%G%U%)%k%H%k!<%k$H$9$k$J$I!"(B $BNc30E*$J%1!<%9$rI=8=$9$k$N$K$b;H$($^$9!#(B</p> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B:</strong> NOT $BJ8;z$r;H$C$F%Q%?!<%s$rH]Dj$9$k>l9g$O%Q%?!<%sCf$K(B $B%0%k!<%W2=$5$l$?%o%$%k%I%+!<%IItJ,$rF~$l$k$3$H$O$G$-$^$;$s!#(B $B$3$l$O!"%Q%?!<%s$,%^%C%A(B *$B$7$J$$(B* $B$H$-!"(B $B%0%k!<%W$NCf?H$O6u$K$J$C$F$7$^$&$+$i$G$9!#$=$N7k2L!"(B $BH]Dj$5$l$?%Q%?!<%s$r;H$&>l9g$O!"CV$-49$(J8;zNs$NCf$G(B <code>$N</code> $B$O;H$($^$;$s(B!</td> </tr> </table> <p>$B=q$-49$(%k!<%k$N(B <a id="rhs" name="rhs"><em>Substitution</em></a> $B$O!"(B<em>Pattern</em>$B$,(B $B%^%C%A$7$?>l9g$K%*%j%8%J%k$N(B URL $B$+$iCV$-49$($i$l$kJ8;zNs$G$9!#(B $B%W%l!<%s%F%-%9%H$NB>$K0J2<$N$b$N$,;H$($^$9!#(B</p> <ol> <li>RewriteRule $B%Q%?!<%s$X$N8eJ};2>H(B <code>$N</code></li> <li>$B:G8e$K%^%C%A$7$?(B RewriteCond $B%Q%?!<%s$X$N8eJ};2>H(B <code>%N</code></li> <li>$B%k!<%k>r7o$N%F%9%HJ8;zNs$HF1MM$N%5!<%PJQ?t(B (<code>%{$BJQ?tL>(B}</code>)</li> <li><a href="#mapfunc">$B%^%C%T%s%04X?t(B</a> $B$N8F$S=P$7(B (<code>${mapname:key|default}</code>)</li> </ol> $B8eJ};2>H$O(B <code>$</code><strong>N</strong>(<strong>N</strong>=0..9) $B<1JL;R$GI=$7$^$9!#$3$l$O!"%^%C%A$7$?(B <em>Pattern</em> $B$N%0%k!<%W$NCf$G!"(B <strong>N</strong> $BHVL\$N$b$N$NFbMF$KCV$-49$($i$l$^$9!#%5!<%PJQ?t$O(B <code>RewriteCond</code> $B%G%#%l%/%F%#%V$N(B <em>TestString</em> $B$HF1$8$G$9!#(B $B%^%C%T%s%04X?t$O(B <code>RewriteMap</code> $B%G%#%l%/%F%#%V$+$iMh$?$b$N$G!"(B $B$=$3$G@bL@$7$F$$$^$9!#$3$l$i(B 3 $B%?%$%W$NJQ?t$O!">e5-$N=g=x$GE83+$5$l$^$9!#(B <p>$BA0=R$N$h$&$K!"$9$Y$F$N=q$-49$(%k!<%k$,(B <em>Substitution</em> $B$KBP$7$F(B ($B@_Dj%U%!%$%k$KDj5A$7$F$"$k=g$K(B)$BE,MQ$5$l$^$9!#(BURL $B$O(B <em>Substitution</em> $B$K$h$C$F(B<strong>$B40A4$KCV$-49$($i$l(B</strong>$B!"(B $B=q$-49$(=hM}$O(B <code><strong>L</strong></code> $B%U%i%0(B -- $B8e=R(B -- $B$K$h$C$FL@<(E*$K=*C<$5$l$F$$$J$$8B$j!"(B $B%k!<%k$,$J$/$J$k$^$GB3$1$i$l$^$9!#(B</p> <p>'<code>-</code>' $B$H8F$P$l$kFC<l$JCV$-49$(J8;zNs$,$"$j$^$9!#(B $B$3$l$O!"(B<strong>$BCV496X;_(B</strong>! $B$N0UL#$G$9!#JQ$G$7$g(B? $B$$$$$(!"$3$l$O(B URL $B$N%^%C%A%s%0(B<strong>$B$@$1(B</strong>$B$r9T$J$$!"(B $BCV49$r9T$J$o$J$$$H$$$&5!G=$rDs6!$7$F$/$l$k$b$N$G$9!#(B <em>$B$9$J$o$A(B</em>$B!"(B<strong>C</strong> (chain) $B%U%i%0$H$J$$$C$7$g$K;H$&$3$H$K$h$C$F!"(B $BCV49$,9T$J$o$l$kA0$KJ#?t$N%Q%?!<%s$rE,MQ$9$k$3$H$,$G$-$^$9!#(B</p> <p>$B$b$&$R$H$DCm0U;v9`(B: $B%/%(%j!<J8;zNsItJ,$rIU2C$7$?CV49J8;zNs$G(B URL $B$r@8@.$9$k$3$H$b$G$-$^$9!#(B $BC1$K!"CV49J8;zNs$NCf$K%/%(%9%A%g%s%^!<%/$rF~$l$k$@$1$G!"$=$l0J9_$O(B QUERY_STRING $B$KF~$l$k$Y$-$3$H$r<($7$^$9!#(B $B4{B8$N%/%(%j!<J8;zNs$r>C5n$7$?$$>l9g$O!"(B $BCV49J8;zNs$r%/%(%9%A%g%s%^!<%/$@$1$G=*$o$i$;$k$h$&$K$7$^$9!#(B</p> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B</strong>: $BFC<l5!G=$K$D$$$F=R$Y$^$9(B: $BCV49%U%#!<%k%I$NA0$K(B <code>http://</code><em>thishost</em>[<em>:thisport</em>] $B$rCV$/$H!"(B<strong>mod_rewrite</strong> $B$O<+F0E*$K$3$l$r=|5n$7$^$9!#$3$N0EL[$N30It%j%@%$%l%/%H(B URL $B$K$*$1$k<+F0JQ495!G=$O!"%[%9%HL>ItJ,$r@8@.$9$k(B $B%^%C%T%s%04X?t$HF1;~$K;H$&>l9g$KJXMx$+$D=EMW$J$b$N$G$9!#(B $B$3$l$rM}2r$9$k$K$O!"0J2<$N%5%s%W%k$N>O$N:G=i$NNc$r8+$F$/$@$5$$!#(B </td> </tr> </table> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BHw9M(B: $B$3$N5!G=$N1F6A$G!"(B</strong> <code>http://thishost</code> $B@\F,<-$NIU$$$?(B $B<+J,<+?H$N%5!<%P$X$NL5>r7o$N30It%j%@%$%l%/%7%g%s$O!"(B $BF0:n$7$^$;$s!#(B $B$3$N$h$&$J<+8J%j%@%$%l%/%H$r9T$&$K$O!"(B<strong>R</strong> $B%U%i%0$r;H$&I,MW$,$"$j$^$9(B($B8e=R(B)$B!#(B</td> </tr> </table> <p><code>RewriteRule</code> $B%G%#%l%/%F%#%V$NBh;00z?t$H$7$F!"(B <em>Pattern</em> $B$KBP$7$F>e5-0J30$K$b0J2<$N$h$&$J(B</p> <blockquote> <strong><code>[</code><em>$B%U%i%0(B</em><code>]</code></strong> </blockquote> $B$r$D$1$k$3$H$,$G$-$^$9!#(B <em>$B%U%i%0(B</em>$B$O0J2<$N$b$N$r%+%s%^$G6h@Z$C$F;XDj$7$^$9(B: <ul> <li> '<strong><code>redirect|R</code> [=<em>code</em>]</strong>' ($B6/@)(B <a id="redirect" name="redirect"><strong>r</strong>edirect</a>)<br /> <em>Substitution</em> $B$NA0$K(B ($B?7$7$$(B URL $B$r(B URI $B$K$9$k(B) <code>http://thishost[:thisport]/</code> $B$r$D$1$k$3$H$K$h$j6/@)E*$J30It%j%@%$%l%/%7%g%s$r9T$J$$$^$9!#(B <em>code</em> $B$,;XDj$5$l$J$$>l9g!"(BHTTP $B%l%9%]%s%9$N(B 302 (MOVED TEMPORARILY) $B$,;H$o$l$^$9!#(B300 $B$+$i(B 400 $B$^$G$NB>$N%l%9%]%s%9%3!<%I$rJV$7$?$$>l9g$O!"(B $BD>@\$=$NHV9f$r;XDj$9$k$+!"%7%s%\%kL>(B <code>temp</code> ($B%G%U%)%k%H(B), <code>permanent</code>, <code>seeother</code> $B$N$$$:$l$+$r;H$$$^$9!#(B<em>$BNc$($P(B</em>$B!"(B``<code>/~</code>'' $B$r(B ``<code>/u/</code>'' $B$KJQ49$7$?$j!">o$K(B <code>/u/</code> <em>user</em> $B$K%9%i%C%7%e$rDI2C$9$k$J$I$N!"%/%i%$%"%s%H$K(B $B@55,2=(B $B$5$l$?(B URL $B$rJV$9%k!<%k$K;H$&$3$H$,$G$-$^$9!#(B<br /> <p><strong>$BCm0U(B:</strong> $B$3$N%U%i%0$r;H$&>l9g$O!"CV49%U%#!<%k%I$,M-8z$J(B URL $B$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#$b$7$=$&$G$J$$>l9g!"(B $BL58z$J>l=j$K%j%@%$%l%/%H$7$F$$$k$3$H$K$J$C$F$7$^$$$^$9!#(B $B$5$i$K!"$3$N%U%i%0$O!"(BURL $B$NA0$K(B <code>http://thishost[:thisport]/</code> $B$rIU2C$9$k$@$1$G!"$=$N8e$b=q$-49$(=hM}$OB3$/$3$H$r(B $BM}2r$7$F$*$$$F$/$@$5$$!#(B $BDL>o$O$=$3$G=q$-49$($r$d$a$FB(;~$K%j%@%$%l%/%H$9$k$3$H$,K>$_$NF0:n(B $B$G$7$g$&!#(B $B=q$-49$($r=*N;$9$k$K$O!"(B 'L' $B%U%i%0$b$$$C$7$g$K;XDj$7$J$1$l$P$J$j$^$;$s!#(B</p> </li> <li>'<strong><code>forbidden|F</code></strong>' (URL $B$r6/@)E*$K(B <strong>f</strong>orbidden($B6X;_(B)$B$K$9$k(B)<br /> $B$3$l$O8=:_$N(B URL $B$r6/@)E*$K%"%/%;%96X;_$K$7$^$9!#(B <em>$B$9$J$o$A(B</em>$B!"B(;~$K(B HTTP $B%l%9%]%s%9$N(B 403 (FORBIDDEN) $B$rJV$7$^$9!#$3$N%U%i%0$OE,@Z$J(B RewriteCond $B$H$$$C$7$g$K;H$C$F!"FCDj$N(B URL $B$KBP$9$k>r7o%V%m%C%/$r9T$J$&$?$a$K(B $B;H$$$^$9!#(B</li> <li>'<strong><code>gone|G</code></strong>' (URL $B$r6/@)E*$K(B <strong>g</strong>one($B>C5n:Q$_(B)$B$K$9$k(B)<br /> $B$3$l$O8=:_$N(B URL $B$r6/@)E*$K>C5n:Q$_(B(gone)$B$K$7$^$9!#(B <em>$B$9$J$o$A(B</em>$B!"B(;~$K(B HTTP $B%l%9%]%s%9$N(B 410 (GONE) $B$rJV$7$^$9!#$3$N%U%i%0$O$b$O$dB8:_$7$J$$%Z!<%8$r(B $B>C5n:Q$_$H$7$F%^!<%/$9$k$?$a$K;H$$$^$9!#(B</li> <li> '<strong><code>proxy|P</code></strong>' ($B6/@)(B <strong>p</strong>roxy)<br /> $B$3$N%U%i%0$O!"CV49BP>]It$rFbItE*$J%W%m%-%7%j%/%(%9%H(B $B$H$_$J$7!"$=$N>l$G(B(<em>$B$9$J$o$A(B</em>$B!"(B $B$3$3$G=q$-49$(%k!<%k$rDd;_$7$F(B)<a href="mod_proxy.html">$B%W%m%-%7%b%8%e!<%k$r(B</a>$BDL$7$F=PNO$7$^$9!#(B $BCV49BP>]J8;zNs$O(B(<em>$BNc$($P(B</em>$B!"IaDL$O(B <code>http://</code> <em>hostname</em>$B$G;O$^$k$h$&$J(B)$B!"(BApache $B%W%m%-%7%b%8%e!<%k$G07$($kM-8z$J(B URI $B$G$J$1$l$P$J$j$^$;$s!#(B $B$=$&$G$J$1$l$P!"%W%m%-%7%b%8%e!<%k$+$i%(%i!<$,Js9p$5$l$^$9!#(B $B$3$N%U%i%0$r;H$&$3$H$G$h$j6/NO$J(B <a href="mod_proxy.html#proxypass">ProxyPass</a> $B%G%#%l%/%F%#%V$N<BAu$r9T$J$&$3$H$,$G$-!"%j%b!<%H$K$"$k$b$N$r(B $B%m!<%+%k%5!<%P$NL>A06u4V$K%^%C%W$9$k$3$H$,$G$-$^$9!#(B <p>$BCm0U(B: $B$3$N5!G=$r;H$&$K$"$?$C$F$O!"$4<+J,$N(B Apache $B%5!<%P$K(B $B%W%m%-%7%b%8%e!<%k$,AH$_9~$^$l$F$$$k$3$H$r(B $B3NG'$7$F$/$@$5$$!#3NG'J}K!$,$o$+$i$J$$>l9g$O!"(B``<code>httpd -l</code>'' $B$N=PNO$NCf$K(B <code>mod_proxy.c</code> $B$,$"$k$+$I$&$+$rD4$Y$F$_$^$7$g$&!#$b$7$"$l$P!"(B mod_rewrite $B$N$3$N5!G=$r;H$($^$9!#$b$7$J$1$l$P!"(Bmod_proxy $B$rM-8z$K$7$F(B ``<code>httpd</code>'' $B%W%m%0%i%`$r:F9=C[$9$kI,MW$,$"$j$^$9!#(B</p> </li> <li>'<strong><code>last|L</code></strong>' (<strong>l</strong>ast($B:G8e$N(B)$B%k!<%k(B)<br /> $B$3$3$G=q$-49$(=hM}$rCf;_$7!"(B $B$=$l0J>e$N=q$-49$(%k!<%k$rE,MQ$7$J$$$h$&$K$7$^$9!#$3$l$O(B Perl $B$N(B <code>last</code> $B%3%^%s%I$d(B C $B8@8l$N(B <code>break</code> $B%3%^%s%I$KBP1~$9$k$b$N$G$9!#$3$N%U%i%0$r;H$&$3$H$G!"(B $B8=:_$N=q$-49$(8e$N(B URL $B$,8eB3$N%k!<%k$K$h$C$F(B $B$=$l0J>e=q$-49$($i$l$k$3$H$rKI;_$7$^$9!#(B $BNc$($P!"$3$l$r;H$C$F%k!<%H%Q%9$N(B URL ('<code>/</code>') $B$r<B:]$N$b$N!"(B<em>$BNc$($P(B </em>'<code>/e/www/</code>' $B$K=q$-49$($^$9!#(B</li> <li>'<strong><code>next|N</code></strong>' (<strong>n</strong>ext($B<!$N(B)$B0l<~(B)<br /> $B=q$-49$(=hM}$r(B($B0lHV:G=i$N=q$-49$(%k!<%k$+$i(B)$B:F<B9T$7$^$9!#(B $B$?$@$7$=$N:]%^%C%A%s%0$5$l$k(B URL $B$OEv=i$N(B URL $B$G$O$J$/!":G8e$K=q$-49$($i$l$?(B URL $B$G$9!#$3$l$O(B Perl $B$N(B <code>next</code> $B%3%^%s%I$d(B C $B8@8l$N(B <code>continue</code> $B%3%^%s%I$KBP1~$9$k$b$N$G$9!#(B $B=q$-49$(=hM}$r:F5/F0$7$?$$$H$-(B <em>$B$9$J$o$A!"(B</em>$B%k!<%W$N@hF,$KLa$j$?$$$H$-(B<br />$B$K(B $B$3$N%3%^%s%I$r;H$C$F$/$@$5$$!#(B <strong>$B$?$@$7!"L58B%k!<%W$r:n$i$J$$$h$&$KN10U$7$F$/$@$5$$(B! </strong></li> <li>'<strong><code>chain|C</code></strong>' ($B<!$N%k!<%k$K(B <strong>c</strong>hained ($B%A%'%$%s(B))<br /> $B$3$N%U%i%0$r;XDj$9$k$H!"8=:_$N%k!<%k$O<!$N%k!<%k$K%A%'%$%s$5$l$^$9(B ($B$J$*!"<!$N%k!<%k$b8eB3$N%k!<%k$K=gHV$K(B $B%A%'%$%s$9$k$3$H$,$G$-$^$9(B)$B!#$3$l$K$O0J2<$N8z2L$,$"$j$^$9(B: $B%k!<%k$,%^%C%A$9$k$H!"=hM}$ODL>o$I$*$j9T$o$l$^$9!#(B <em>$B$9$J$o$A(B</em>$B%U%i%0$O2?$N1F6A$bM?$($^$;$s!#%k!<%k$,%^%C%A(B <strong>$B$7$J$$(B</strong>$B>l9g!"8eB3$N$9$Y$F$N%k!<%k$O%9%-%C%W$5$l$^$9!#(B $BNc$($P(B (.www $BItJ,$,9T$J$o$l$k$Y$-$G$J$$(B) $B30It%j%@%$%l%/%H$rH/@8$5$;$?;~$K!"(B $B%G%#%l%/%H%j$4$H$N%k!<%k%;%C%H$NCf$+$i(B ``<code>.www</code>'' $B$NItJ,$r<h$j=|$/$?$a$K;H$&$3$H$G$-$^$9!#(B </li> <li> '<strong><code>type|T</code></strong>=<em>MIME-type</em>' (MIME <strong>t</strong>ype $B$N6/@);XDj(B)<br /> $B%?!<%2%C%H%U%!%$%k$N(B MIME $B%?%$%W$r6/@)E*$K(B <em>MIME-type</em> $B$K$7$^$9!#Nc$($P$3$l$r;H$C$F!"(B<code>mod_alias</code> $B$N%G%#%l%/%F%#%V$G$"$k(B <code>ScriptAlias</code> $B$r%7%_%e%l!<%H$9$k$3$H$,$G$-$^$9!#$3$l$O!"(B $B%^%C%T%s%0$5$l$?%G%#%l%/%H%j$NCf$K$"$k$9$Y$F$N%U%!%$%k$N(B MIME $B%?%$%W$r!"FbItE*$K(B``<code>application/x-httpd-cgi</code>'' $B$K6/@)%;%C%H$9$k$b$N$G$9!#(B</li> <li> '<strong><code>nosubreq|NS</code></strong>' (<strong>n</strong>o <strong>s</strong>ub-request, $BFbIt$N(B $B%5%V%j%/%(%9%H$,$J$$(B $B$H$-$N$_;H$o$l$k(B)<br /> $B$3$N%U%i%0$r;H$&$H!"%/%(%9%H$,FbIt$N%5%V%j%/%(%9%H$G$"$k>l9g$K!"(B $B=q$-49$(%(%s%8%s$,=q$-49$(%k!<%k$r%9%-%C%W$9$k$h$&$K$7$^$9!#(B $B%5%V%j%/%(%9%H$O!"Nc$($P!"(B<code>mod_include</code> $B$,%G%#%l%/%H%j$N%G%U%)%k%H$N8uJd$H$J$k%U%!%$%k$N>pJs(B (<code>index.xxx</code>) $B$r8!:w$7$h$&$H$9$k:]$K!"(BApache $B$NCf$GFbItE*$KH/@8$7$^$9!#(B $B%5%V%j%/%(%9%H$K$*$$$F$O=q$-49$(A`:n$O>o$KM-MQ$G$"$k$H$O8B$i$:!"(B $B$9$Y$F$N%k!<%k$,E,MQ$5$l$F$7$^$&$HLdBj$r5/$3$7$F$7$^$&>l9g$b$"$j$^$9!#(B $B$=$N$h$&$J%k!<%k$O$3$N%U%i%0$r;H$C$F=|30$7$^$9!#(B<br /> <p>$B0J2<$N%k!<%k$r;H$C$F!"$3$N%U%i%0$r;H$&$+$I$&$+7h$a$F$/$@$5$$(B: CGI $B%9%/%j%W%H$N@hF,$K$J$s$i$+$N(B URL $B$rIU2C$7$F!"$=$l$r(B CGI $B%9%/%j%W%H$G=hM}$5$;$h$&$H$9$k>l9g!"%5%V%j%/%(%9%H$N:]$KLdBj$,(B $B5/$3$C$?$j(B ($B%*!<%P!<%X%C%I$,$+$+$C$?$j(B) $B$9$k2DG=@-$,9b$/$J$j$^$9!#(B $B$3$N$h$&$J%1!<%9$G$O!"$3$N%U%i%0$r;H$C$F$/$@$5$$!#(B</p> </li> <li>'<strong><code>nocase|NC</code></strong>' (<strong>n</strong>o <strong>c</strong>ase)<br /> $B$3$l$O(B<em>$B%Q%?!<%s(B</em>$B$K$D$$$FBgJ8;z>.J8;z$r6hJL$7$J$$$h$&$K$7$^$9!#(B <em>$B$9$J$o$A(B</em>$B!"(B<em>$B%Q%?!<%s(B</em>$B$,8=:_$N(B URL $B$H%^%C%A$5$l$k:]!"(B 'A-Z' $B$H(B 'a-z' $B$O6hJL$5$l$^$;$s!#(B</li> <li>'<strong><code>qsappend|QSA</code></strong>' (<strong>q</strong>uery <strong>s</strong>tring <strong>a</strong>ppend)<br /> $B$3$N%U%i%0$O!"4{B8$N$b$N$rCV$-49$($k$N$G$O$J$/!"CV49J8;zNs$N(B $B%/%(%j!<J8;zNsItJ,$rDI2C$9$k$h$&$K$7$^$9!#=q$-49$(%k!<%k$rDL$7$F%/%(%j!<(B $BJ8;zNs$K2?$+%G!<%?$rDI2C$7$?$$>l9g$K$3$N%U%i%0$r;H$$$^$9!#(B</li> <li> '<strong><code>noescape|NE</code></strong>' (<strong>n</strong>o URI <strong>e</strong>scaping of output)<br /> $B$3$N%U%i%0$O!"(Bmod_rewrite $B$,=q$-49$(7k2L$KBP$7$FDL>o9T$J$o$l$k(B URL $B%(%9%1!<%W%k!<%k$rE,MQ$7$J$$$h$&$K$7$^$9!#DL>o$O(B ('%', '$', ';' $B$H$$$C$?(B) $BFC<lJ8;z$K$D$$$F$O!"$=$l$i$HEy2A$N(B 16 $B?J?tJ8;zNs(B ($B=g$K(B '%25', '%24', '%3B') $B$K%(%9%1!<%W$5$l$^$9!#(B $B$3$N%U%i%0$O$3$NF0:n$rM^@)$7$^$9!#(B $B$3$l$K$h$j!"=PNO$NCf$K%Q!<%;%s%HJ8;z$r;H$&$3$H$,$G$-$^$9!#(B $B0J2<$KNc$r5s$2$^$9!#(B <pre> RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE] </pre> $B$3$NNc$G$O!"(B'<code>/foo/zed</code>' $B$,0BA4$J%j%/%(%9%H$G$"$k(B '<code>/bar?arg=P1=zed</code>' $B$KJQ99$5$l$^$9!#(B <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B:</strong> <code>noescape</code> $B%U%i%0$O(B Apache 1.3.20 $B0J9_$G$N$_M-8z$G$9!#(B</td> </tr> </table> </li> <li> '<strong><code>passthrough|PT</code></strong>' (<strong>p</strong>ass <strong>t</strong>hrough to next handler)<br /> $B$3$N%U%i%0$O!"FbIt$N(B <code>request_rec</code> $B9=B$BN$N(B <code>uri</code> $B%U%#!<%k%I$K(B <code>filename</code> $B%U%#!<%k%I$NCM$r%;%C%H$9$k$h$&$K!"=q$-49$(%(%s%8%s$K;X<($7$^$9!#(B $B$3$N%U%i%0$OC1$K!"(B<code>RewriteRule</code> $B%G%#%l%/%F%#%V$N=PNO$KBP$7$F!"B>$N(B URI $B$+$i%U%!%$%kL>$X$NJQ49=hM}$r9T$&(B <code>Alias</code>, <code>ScriptAlias</code>, <code>Redirect</code> <em>$B$H$$$C$?(B</em>$B%G%#%l%/%F%#%V$K$h$k8e=hM}$rF~$l$k$?$a$N>.5;$G$9!#(B $B0UL#$r<($9$?$a$NC1=c$JNc(B: <code>mod_rewrite</code> $B$N=q$-49$(%(%s%8%s$G(B <code>/abc</code> $B$+$i(B <code>/def</code> $B$X$NJQ49$r9T$J$$!"$5$i$K(B <code>mod_alias</code> $B$G(B <code>/def</code> $B$+$i(B <code>/ghi</code> $B$K=q$-49$($k$K$O!"0J2<$N$h$&$K$7$^$9(B: <pre> RewriteRule ^/abc(.*) /def$1 [PT] Alias /def /ghi </pre> $B$b$7(B <code>PT</code> $B%U%i%0$r;XDj$9$k$N$rK:$l$F$7$^$C$?>l9g!"(B <code>mod_rewrite</code> $B$O$A$c$s$H$=$N;E;v$r9T$J$$$^$9!#(B <em>$B$9$J$o$A(B</em>$B!"40A4$J(B API $B$K=`5r$7$?(B URI-to-filename $BJQ49%k!<%A%s$,9T$&$Y$-!"(B<code>uri=/abc/...</code> $B$r(B <code>filename=/def/...</code> $B$K=q$-49$(!"$r9T$J$$$^$9!#$=$N8e(B <code>mod_alias</code> $B$,5/F0$5$l!"(BURI-to-filename $BJQ49$r;n$_$^$9$,!"$3$l$OF0:n$7$^$;$s(B $B!#(B <p>$BCm0U(B: <strong>URL-to-filename $BJQ49$r4^$`0[$J$C$?%b%8%e!<%k$N%G%#%l%/%F%#%V$r:.MQ$7$?$$>l9g$K$O!"(B $B$3$N%U%i%0$r;XDj$9$kI,MW$,$"$j$^$9!#(B</strong>$BE57?E*$JNc$H$7$F$O!"(B <code>mod_alias</code> $B$H(B <code>mod_rewrite</code> $B$NF1;~;HMQ$G$9!#(B</p> </li> <li>'<strong><code>skip|S</code></strong>=<em>num</em>' (<strong>s</strong>kip next rule(s))<br /> $B$3$N%U%i%0$O=q$-49$(%(%s%8%s$KBP$7!"8=:_$N%k!<%k$,%^%C%A$7$?$i!"(B $B<!$N(B <em>num</em> $B8D$N%k!<%k$r%9%-%C%W$9$k$h$&;X<($7$^$9!#$3$l$r(B $B;H$C$F!"5<;wE*$K(B if-then-else $B9=B$$r:n$k$3$H$,$G$-$^$9(B: then-$B6g(B $B$N:G=*%k!<%k$O(B <code>skip=N</code> $B$H$J$j$^$9!#$3$3$G(B N $B$O(B else-$B6g(B $B$KF~$l$k%k!<%k$N?t$G$9!#(B($B$3$l$O(B 'chain|C' $B%U%i%0$H$O(B <strong>$B0[$J$j$^$9(B</strong>!)$B!#(B</li> <li> '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>' (set <strong>e</strong>nvironment variable)<br /> $B$3$l$O(B <em>VAR</em> $B$H$$$&L>A0$N4D6-JQ?t$NCM$r(B <em>VAL</em> $B$K$9$k$h$&;X<($7$^$9!#$3$3$G(B <em>VAL</em> $B$K$O!"@55,I=8=$N8eJ};2>H$H$7$FE83+$5$l$k(B <code>$N</code> $B$H(B <code>%N</code> $B$r=q$/$3$H$,$G$-$^$9!#(B $B$3$N%U%i%0$rJ#?t;H$C$F!"J#?t$NJQ?t$rDj5A$9$k$3$H$b$G$-$^$9!#(B $B$3$NJQ?t$OB?$/$N>l9g!"DL>o8e$+$i(B XSSI (<code><!--#echo var="VAR"--></code> $B$rDL$7$F(B) $B$^$?$O(B CGI (<em>$BNc$($P(B</em> <code>$ENV{'VAR'}</code>) $B$N$h$&$K!";2>H$5$l$^$9!#$5$i$K!"(B RewriteCond $B%Q%?!<%s(B <code>%{ENV:VAR}</code> $B$rDL$7$F;2>H$9$k$3$H$b$G$-$^$9!#$3$l$r;H$C$F(B URL $B$+$i$N>pJs$r@Z$j<h$C$F5-21$7$^$9!#(B</li> </ul> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td> <strong>$BCm0U(B:</strong> $B%5!<%PC10L$N@_Dj%U%!%$%k$NCf$G$O!"(B<em>Pattern</em> $B$O40A4$J(B URL $B$KE,MQ$5$l$k$3$H$rK:$l$J$$$G$/$@$5$$!#(B <strong>$B$7$+$7$J$,$i!"%G%#%l%/%H%jC10L$N@_Dj%U%!%$%k$NCf$G$O!"(B $B%Q%?!<%s%^%C%A%s%0$N$?$a$K%G%#%l%/%H%jC10L$N@\F,<-(B ($B$3$l$OFCDj$N%G%#%l%/%H%j$G$O>o$KF1$8$b$N$G$9(B!) $B$,<+F0E*$K(B <em>$B<h$j=|$+$l(B</em>$B!"CV49$,=*$o$C$?8e$K<+F0E*$K(B<em>$BIU2C(B</em> $B$5$l$^$9!#(B</strong>$B$3$N5!9=$O!"$5$^$6$^$J<oN`$N=q$-49$(A`:n$K(B $B$*$$$F7g$/$3$H$N$G$-$J$$$b$N$G$9!#$J$<$J$i!"$3$N@\F,<-$N%9%-%C%W(B $B$,9T$J$o$l$J$$$H!">o$KB8:_$9$k$H$O8B$i$J$$?F%G%#%l%/%H%j$H$N(B $B%^%C%A%s%0$r9T$J$o$J$1$l$P$J$i$J$/$J$k$+$i$G$9!#(B <p>$B$R$H$DNc30$,$"$j$^$9(B: $BCV49J8;zNs$,(B ``<code>http://</code>'' $B$G;O$^$C$F$$$k>l9g!"%G%#%l%/%H%j@\F,<-$OIU2C(B<strong>$B$5$l$:(B </strong>$B!"30It%j%@%$%l%/%H$^$?$O(B (<strong>P</strong> $B%U%i%0$,(B $B;H$o$l$F$$$l$P(B!) $B%W%m%-%7=hM}$,6/@)E*$K9T$J$o$l$^$9!#(B</p> </td> </tr> </table> <table width="70%" border="0" bgcolor="#E0E0F0" cellspacing="0" cellpadding="10"> <tr> <td><strong>$BCm0U(B:</strong> $B%G%#%l%/%H%jC10L$N@_Dj%U%!%$%k(B $B$K$*$1$k=q$-49$(%(%s%8%s$rM-8z$K$9$k>l9g!"$3$l$i$N%U%!%$%k$K(B ``<code>RewriteEngine On</code>'' $B$r%;%C%H$7!"(B<strong>$B$+$D(B </strong>``<code>Options FollowSymLinks</code>'' $B$rM-8z$K(B $B$7$J$1$l$P$J$j$^$;$s!#$"$J$?$N$H$3$m$N4IM}<T$,%f!<%6$N(B $B%G%#%l%/%H%j$N(B <code>FollowSymLinks</code> $B$N%*!<%P!<%i%$%I(B $B$r6X;_$7$F$$$?>l9g!"=q$-49$(%(%s%8%s$r;H$&$3$H$O$G$-$^$;$s!#(B $B$3$N@)8B$,I,MW$J$N$O!"%;%-%e%j%F%#4XO"$NM}M3$K$h$j$^$9!#(B</td> </tr> </table> <p>$B0J2<$KM-8z$JCV49$NAH9g$;$H!"$=$l$i$N0UL#$r<($7$^$9(B:</p> <p><strong>$B%j%/%(%9%H(B ``<code>GET /somepath/pathinfo</code>'' $B$,9T$J$o$l$?>l9g$N!"(B<br /> $B%5!<%PC10L$N@_Dj(B (<code>httpd.conf</code>) $B$NFbIt(B:</strong><br /> </p> <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5"> <tr> <td> <pre> <strong>$BM?$($i$l$?%k!<%k(B</strong> <strong>$BCV497k2L(B</strong> ---------------------------------------------- ---------------------------------- ^/somepath(.*) otherpath$1 $BL58z$J$N$G%5%]!<%H$7$J$$(B ^/somepath(.*) otherpath$1 [R] $BL58z$J$N$G%5%]!<%H$7$J$$(B ^/somepath(.*) otherpath$1 [P] $BL58z$J$N$G%5%]!<%H$7$J$$(B ---------------------------------------------- ---------------------------------- ^/somepath(.*) /otherpath$1 /otherpath/pathinfo ^/somepath(.*) /otherpath$1 [R] $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://thishost/otherpath/pathinfo ^/somepath(.*) /otherpath$1 [P] $BL50UL#$J$N$G%5%]!<%H$7$J$$(B ---------------------------------------------- ---------------------------------- ^/somepath(.*) http://thishost/otherpath$1 /otherpath/pathinfo ^/somepath(.*) http://thishost/otherpath$1 [R] $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://thishost/otherpath/pathinfo ^/somepath(.*) http://thishost/otherpath$1 [P] $BL50UL#$J$N$G%5%]!<%H$7$J$$(B ---------------------------------------------- ---------------------------------- ^/somepath(.*) http://otherhost/otherpath$1 $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://otherhost/otherpath/pathinfo ^/somepath(.*) http://otherhost/otherpath$1 [R] $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://otherhost/otherpath/pathinfo ([R] $B%U%i%0$O>iD9(B) ^/somepath(.*) http://otherhost/otherpath$1 [P] $BFbIt%W%m%-%77PM3$G(B http://otherhost/otherpath/pathinfo </pre> </td> </tr> </table> <p><strong>$B%j%/%(%9%H(B ``<code>GET /somepath/localpath/pathinfo</code>'' $B$,9T$J$o$l$?>l9g$N!"(B<br /> <code>/somepath</code> $B$K4X$9$k%G%#%l%/%H%jC10L$N@_Dj$NFbIt(B:<br /> (<em>$BNc$($P(B</em>$B!"(B <code>/physical/path/to/somepath</code> $B%G%#%l%/%H%j$K$"$C$F!"(B<br /> <code>RewriteBase /somepath</code> $B$N5-=R$,$"$k(B <code>.htaccess</code> $B%U%!%$%k(B):</strong><br /> </p> <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5"> <tr> <td> <pre> <strong>$BM?$($i$l$?%k!<%k(B</strong> <strong>$BCV497k2L(B</strong> ---------------------------------------------- ---------------------------------- ^localpath(.*) otherpath$1 /somepath/otherpath/pathinfo ^localpath(.*) otherpath$1 [R] $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://thishost/somepath/otherpath/pathinfo ^localpath(.*) otherpath$1 [P] $BL50UL#$J$N$G%5%]!<%H$7$J$$(B ---------------------------------------------- ---------------------------------- ^localpath(.*) /otherpath$1 /otherpath/pathinfo ^localpath(.*) /otherpath$1 [R] $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://thishost/otherpath/pathinfo ^localpath(.*) /otherpath$1 [P] $BL50UL#$J$N$G%5%]!<%H$7$J$$(B ---------------------------------------------- ---------------------------------- ^localpath(.*) http://thishost/otherpath$1 /otherpath/pathinfo ^localpath(.*) http://thishost/otherpath$1 [R] $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://thishost/otherpath/pathinfo ^localpath(.*) http://thishost/otherpath$1 [P] $BL50UL#$J$N$G%5%]!<%H$7$J$$(B ---------------------------------------------- ---------------------------------- ^localpath(.*) http://otherhost/otherpath$1 $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://otherhost/otherpath/pathinfo ^localpath(.*) http://otherhost/otherpath$1 [R] $B30It%j%@%$%l%/%7%g%s7PM3$G(B http://otherhost/otherpath/pathinfo ([R] $B%U%i%0$O>iD9(B) ^localpath(.*) http://otherhost/otherpath$1 [P] $BFbIt%W%m%-%77PM3$G(B http://otherhost/otherpath/pathinfo </pre> </td> </tr> </table> <p><strong>$BNc(B:</strong></p> <blockquote> $B$3$3$G$O!"(B <blockquote> <code>/</code> <em>Language</em> <code>/~</code> <em>Realname</em> <code>/.../</code> <em>File</em> </blockquote> $B$H$$$&=q<0$N(B URL $B$r(B <blockquote> <code>/u/</code> <em>Username</em> <code>/.../</code> <em>File</em> <code>.</code> <em>Language</em> </blockquote> $B$K=q$-49$($?$$$b$N$H$7$^$9!#(B <p>$BA0=R$N%^%C%W%U%!%$%k$r(B <code>/path/to/file/map.txt</code> $B$H$$$&L>A0$GJ]B8$7$F$*$-$^$9!#$=$N8e!"(BApache $B%5!<%P@_Dj(B $B%U%!%$%k$K0J2<$N9T$rDI2C$9$k$@$1$G$9(B:</p> <blockquote> <pre> RewriteLog /path/to/file/rewrite.log RewriteMap real-to-user txt:/path/to/file/map.txt RewriteRule ^/([^/]+)/~([^/]+)/(.*)$ /u/${real-to-user:$2|nobody}/$3.$1 </pre> </blockquote> </blockquote> <hr noshade="noshade" size="1" /> <center> <h1><a id="Miscelleneous" name="Miscelleneous">$B$=$NB>$N>pJs(B</a></h1> </center> <hr noshade="noshade" size="1" /> <h2><a id="EnvVar" name="EnvVar">$B4D6-JQ?t(B</a></h2> $B$3$N%b%8%e!<%k$O!"(B<code>SCRIPT_URL</code> $B$H(B <code>SCRIPT_URI</code> $B$H$$$&Fs$D$N(B ($BHsI8=`$N(B) CGI/SSI $B4D6-JQ?t$r@_Dj$7$^$9!#$3$l$i$NCf$K$O8=:_$N%j%=!<%9$X$N(B<em>$BO@M}E*$J(B</em> Web $B%S%e!<$,F~$C$F$$$^$9!#0lJ}!"I8=`$N(B CGI/SSI $BJQ?t$G$"$k(B <code>SCRIPT_NAME</code> $B$H(B <code>SCRIPT_FILENAME</code> $B$K$O!"(B<em>$BJ*M}E*$J(B</em>$B%7%9%F%`%S%e!<$,F~$C$F$$$^$9!#(B <p>$BCm0U(B: $B$3$l$i$NJQ?t$NCf$K$O!"(B<em>$B:G=i$K%j%/%(%9%H$r<u$1$?;~E@(B</em> <em>$B$9$J$o$A(B</em>$B!"=q$-49$($,9T$o$l$k(B<em>$BA0$N(B</em> URI/URL $B$,J];}$5$l$F$$$^$9!#(BURL $B=q$-49$(=hM}$O!"O@M}E*$J(B URL $B$rJ*M}E*$J%Q%9L>$K=q$-49$($k$?$a$K;H$o$l$k$3$H$,B?$$$?$a!"(B $B$3$NE@$O=EMW$G$9!#(B</p> <p><strong>$BNc(B:</strong></p> <blockquote> <pre> SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html SCRIPT_FILENAME=/u/rse/.www/index.html SCRIPT_URL=/u/rse/ SCRIPT_URI=http://en1.engelschall.com/u/rse/ </pre> </blockquote> <hr noshade="noshade" size="1" /> <h2><a id="Solutions" name="Solutions">$B<BA)E*$J2r7hK!(B</a></h2> $B$3$NJ8=q0J30$K$b!"(B<a href="../misc/rewriteguide.html">URL Rewriting Guide</a> $B$H$$$&J8=q$,$"$j$^$9!#$3$NCf$K$O!"(BURL $B%Y!<%9$NLdBj$K$D$$$F!"<BA)E*$J2r7hK!$,=8$a$i$l$F$$$^$9!#(B $B$3$3$G<B:]$KLrN)$D%k!<%k%;%C%H$d(B mod_rewrite $B$K4X$9$kDI2C>pJs$r8+$k$3$H$,$G$-$k$G$7$g$&!#(B </blockquote> <hr /> <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> <a href="./"><img src="../images/index.gif" alt="Index" /></a> <a href="../"><img src="../images/home.gif" alt="Home" /></a> <!-- page indentation --> <!--/%hypertext --> </body> </html>