📄 rewriteguide.xml.ko
字号:
print "Content-type: text/html\n\n"; print "&lt;b&gt;ERROR&lt;/b&gt;: No file given\n"; exit(0);}if (! -f $QS_f) { print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "&lt;b&gt;ERROR&lt;/b&gt;: File $QS_f not found\n"; exit(0);}sub print_http_headers_multipart_begin { print "HTTP/1.0 200 OK\n"; $bound = "ThisRandomString12345"; print "Content-type: multipart/x-mixed-replace;boundary=$bound\n"; &print_http_headers_multipart_next;}sub print_http_headers_multipart_next { print "\n--$bound\n";}sub print_http_headers_multipart_end { print "\n--$bound--\n";}sub displayhtml { local($buffer) = @_; $len = length($buffer); print "Content-type: text/html\n"; print "Content-length: $len\n\n"; print $buffer;}sub readfile { local($file) = @_; local(*FP, $size, $buffer, $bytes); ($x, $x, $x, $x, $x, $x, $x, $size) = stat($file); $size = sprintf("%d", $size); open(FP, "&lt;$file"); $bytes = sysread(FP, $buffer, $size); close(FP); return $buffer;}$buffer = &readfile($QS_f);&print_http_headers_multipart_begin;&displayhtml($buffer);sub mystat { local($file) = $_[0]; local($time); ($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file); return $mtime;}$mtimeL = &mystat($QS_f);$mtime = $mtime;for ($n = 0; $n &lt; $QS_n; $n++) { while (1) { $mtime = &mystat($QS_f); if ($mtime ne $mtimeL) { $mtimeL = $mtime; sleep(2); $buffer = &readfile($QS_f); &print_http_headers_multipart_next; &displayhtml($buffer); sleep(5); $mtimeL = &mystat($QS_f); last; } sleep($QS_s); }}&print_http_headers_multipart_end;exit(0);##EOF##</pre></example> </dd> </dl> </section> <section> <title>措樊狼 啊惑龋胶飘</title> <dl> <dt>惑炔汲疙:</dt> <dd> <p>啊惑龋胶飘啊 割俺父 乐促搁 酒颇摹狼 <directive type="section" module="core">VirtualHost</directive> 扁瓷捞 肋 悼累茄促. 弊矾唱 啊惑龋胶飘啊 荐归俺 乐绰 ISP扼搁 捞 扁瓷捞 弥急篮 酒聪促.</p> </dd> <dt>秦搬氓:</dt> <dd> <p>捞 扁瓷阑 力傍窍妨搁 <dfn>Proxy Throughput</dfn> 扁瓷阑 (敲贰弊 <code>[P]</code>) 荤侩窍咯 寇何 昆其捞瘤 趣篮 傈眉 寇何 昆康开阑 快府狼 捞抚傍埃俊 措览茄促:</p><example><pre>#### vhost.map##www.vhost1.dom:80 /path/to/docroot/vhost1www.vhost2.dom:80 /path/to/docroot/vhost2 :www.vhostN.dom:80 /path/to/docroot/vhostN</pre></example><example><pre>#### httpd.conf## :# 府促捞泛飘且锭 沥痹 龋胶飘疙阑 荤侩茄促.UseCanonicalName on :# 啊惑龋胶飘甫 CLF 屈侥 菊俊 眠啊茄促CustomLog /path/to/access_log "%{VHOST}e %h %l %u %t \"%r\" %>s %b" :# 林辑滚俊辑 犁累己 浚柳阑 荤侩茄促RewriteEngine on# 滴 甘阑 沥狼茄促: 窍唱绰 URL阑 绊摹绊,# 促弗 窍唱绰 啊惑龋胶飘喊 DocumentRoot甫# 沥狼茄促.RewriteMap lowercase int:tolowerRewriteMap vhost txt:/path/to/vhost.map# 捞力 农绊 汗棱茄 痹蘑 茄俺甫 荤侩窍咯# 啊惑龋胶飘肺 措览茄促.## 1. 啊惑龋胶飘甸捞 鞍捞 荤侩窍绰 困摹绰 措览窍瘤 臼绰促RewriteCond %{REQUEST_URI} !^/commonurl1/.*RewriteCond %{REQUEST_URI} !^/commonurl2/.* :RewriteCond %{REQUEST_URI} !^/commonurlN/.*## 2. 快府啊 泅犁 荤侩窍绰 规过捞 Host 庆歹甫# 啊惑龋胶飘甫 瘤盔窍骨肺# Host 庆歹啊 乐绰瘤 犬牢茄促RewriteCond %{HTTP_HOST} !^$## 3. 龋胶飘疙阑 家巩磊肺 父电促RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$## 4. vhost.map俊辑 龋胶飘疙阑 茫绊# 版肺老锭父 扁撅茄促# (困俊辑 "NONE"篮 酒聪促)RewriteCond ${vhost:%1} ^(/.*)$## 5. 付瘤阜栏肺 URL阑 巩辑 困摹肺 措览窍绊# 肺弊俊 巢扁扁困秦 啊惑龋胶飘甫 扁撅秦 敌促RewriteRule ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}] :</pre></example> </dd> </dl> </section> </section> <section id="access"> <title>立辟 力茄</title> <section> <title>肺嚎 阜扁</title> <dl> <dt>惑炔汲疙:</dt> <dd> <p>绢痘霸 窍搁 漂沥 昆傍埃狼 其捞瘤甫 避绢葛栏绰 蓖满篮 肺嚎阑 阜阑 荐 乐唱? "Robot Exclusion Protocol" 亲格阑 历厘茄 <code>/robots.txt</code> 颇老篮 焊烹 捞繁 肺嚎阑 阜绰单 面盒窍瘤 臼促.</p> </dd> <dt>秦搬氓:</dt> <dd> <p>(酒付档 叼泛配府啊 表绢辑 肺嚎捞 倒酒促聪搁 辑滚俊 何淬捞 奴 版快) 昆傍埃 <code>/~quux/foo/arc/</code>俊 乐绰 URL甸阑 芭何窍绰 痹蘑阑 荤侩茄促. 快府绰 漂沥 肺嚎狼 立辟阑 阜酒具 茄促. 溜, 肺嚎阑 角青窍绰 龋胶飘甫 阜绰 巴栏肺绰 阂面盒窍哥, 弊 龋胶飘狼 荤侩磊档 阜酒滚府霸 等促. User-Agent HTTP 庆歹 沥焊档 厚背茄促.</p><example><pre>RewriteCond %{HTTP_USER_AGENT} ^<strong>NameOfBadRobot</strong>.*RewriteCond %{REMOTE_ADDR} ^<strong>123\.45\.67\.[8-9]</strong>$RewriteRule ^<strong>/~quux/foo/arc/</strong>.+ - [<strong>F</strong>]</pre></example> </dd> </dl> </section> <section> <title>弊覆 欺啊扁 规瘤</title> <dl> <dt>惑炔汲疙:</dt> <dd> <p><code>http://www.quux-corp.de/~quux/</code>俊 乐绰 其捞瘤甸捞 GIF 弊覆阑 器窃茄促绊 啊沥窍磊. 捞 弊覆捞 岗乐绢辑, 促弗 荤恩甸捞 磊脚狼 其捞瘤俊 流立 傅农甫 扒促. 辑滚俊 阂鞘夸茄 何淬捞 登骨肺 阜绊 酵促.</p> </dd> <dt>秦搬氓:</dt> <dd> <p>弊覆阑 100% 焊龋且 荐绰 绝瘤父, 弥家茄 宏扼快历啊 HTTP Referer 庆歹甫 焊郴绰 版快 力茄且 荐 乐促.</p><example><pre>RewriteCond %{HTTP_REFERER} <strong>!^$</strong>RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]RewriteRule <strong>.*\.gif$</strong> - [F]</pre></example><example><pre>RewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$RewriteRule <strong>^inlined-in-foo\.gif$</strong> - [F]</pre></example> </dd> </dl> </section> <section> <title>龋胶飘 芭何</title> <dl> <dt>惑炔汲疙:</dt> <dd> <p>绢痘霸 寇何俊辑 辑滚俊 立辟且 荐 绝绰 龋胶飘 格废阑 汲沥且 荐 乐唱?</p> </dd> <dt>秦搬氓:</dt> <dd> <p>酒颇摹 >= 1.3b6俊辑:</p><example><pre>RewriteEngine onRewriteMap hosts-deny txt:/path/to/hosts.denyRewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND [OR]RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUNDRewriteRule ^/.* - [F]</pre></example> <p>酒颇摹 <= 1.3b6俊辑:</p><example><pre>RewriteEngine onRewriteMap hosts-deny txt:/path/to/hosts.denyRewriteRule ^/(.*)$ ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}/$1RewriteRule !^NOT-FOUND/.* - [F]RewriteRule ^NOT-FOUND/(.*)$ ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}/$1RewriteRule !^NOT-FOUND/.* - [F]RewriteRule ^NOT-FOUND/(.*)$ /$1</pre></example><example><pre>#### hosts.deny#### 林狼! 捞巴篮 格废贸烦 焊捞瘤父 格废捞 酒聪扼 甘捞促.## mod_rewrite绰 捞 沥焊甫 虐/蔼 街栏肺 秦籍窍扁锭巩俊,## 阿 亲格狼 蔼 磊府俊 弥家茄 "-"啊 鞘夸窍促.##193.102.180.41 -bsdti1.sdm.de -192.76.162.40 -</pre></example> </dd> </dl> </section> <section> <title>橇废矫 芭何</title> <dl> <dt>惑炔汲疙:</dt> <dd> <p>绢痘霸 漂沥 龋胶飘 趣篮 漂沥 龋胶飘狼 荤侩磊啊 酒颇摹 橇废矫甫 荤侩且 荐 绝档废 窍唱?</p> </dd> <dt>秦搬氓:</dt> <dd> <p>刚历 酒颇摹 昆辑滚甫 哪颇老且锭 备己颇老俊辑 <module>mod_rewrite</module>啊 <module>mod_proxy</module> 酒贰俊(!) 乐绢具 茄促. 弊矾搁 <module>mod_rewrite</module>绰 <module>mod_proxy</module> <em>捞傈俊</em> 阂赴促. 捞力 促澜苞 鞍捞 漂沥 龋胶飘甫 芭何窍档废 汲沥茄促...</p><example><pre>RewriteCond %{REMOTE_HOST} <strong>^badhost\.mydomain\.com$</strong>RewriteRule !^http://[^/.]\.mydomain.com.* - [F]</pre></example> <p>...弊府绊 促澜篮 user@host俊 蝶扼 芭何茄促:</p><example><pre>RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>^badguy@badhost\.mydomain\.com$</strong>RewriteRule !^http://[^/.]\.mydomain.com.* - [F]</pre></example> </dd> </dl> </section> <section> <title>漂喊茄 牢刘 规侥</title> <dl> <dt>惑劝汲疙:</dt> <dd> <p>啊阐 概快 漂喊茄 牢刘捞 鞘夸且 锭啊 乐促. 抗甫 甸绢, 固府 汲沥秦敌 荤侩磊牢瘤 八荤茄促. 捞甸俊霸父 (<module>mod_auth</module>狼 Basic Auth甫 荤侩茄 版快客 崔府) 喊促弗 拱澜绝捞 立辟阑 倾侩茄促.</p> </dd> <dt>秦搬氓:</dt> <dd> <p>模备父 立辟捞 啊瓷窍档废 犁累己 痹蘑甸阑 荤侩茄促:</p><example><pre>RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend1@client1.quux-corp\.com$</strong>RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend2</strong>@client2.quux-corp\.com$RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend3</strong>@client3.quux-corp\.com$RewriteRule ^/~quux/only-for-friends/ - [F]</pre></example> </dd> </dl> </section> <section> <title>Referer扁馆 函券扁(deflector)</title> <dl> <dt>惑炔汲疙:</dt> <dd> <p>"Referer" HTTP 庆歹俊 蝶扼 盔窍绰措肺 曼炼其捞瘤甫
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -