<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[韦伯花园的魔法师 magician in Web 2.0 Party - 外文翻译]]></title>
<link>http://fanxiaojie.com</link>
<description><![CDATA[关注Web前端开发技术]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[fanxiaojie@yeah.net(稽山草)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>韦伯花园的魔法师 magician in Web 2.0 Party</title>
	<url>http://fanxiaojie.com/images/logos.gif</url>
	<link>http://fanxiaojie.com</link>
	<description>韦伯花园的魔法师 magician in Web 2.0 Party</description>
</image>

			<item>
			<link>http://fanxiaojie.com/article.asp?id=73</link>
			<title><![CDATA[美国国务卿克林顿夫人关于互联网自由的讲演]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Fri,22 Jan 2010 20:24:35 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=73</guid>
		<description><![CDATA[&lt;P&gt;&lt;STRONG&gt;Remarks on Internet Freedom(关于互联网自由的备忘录)&lt;BR&gt;&lt;/STRONG&gt;Hillary Rodham Clinton希拉里·罗德姆·克林顿&lt;BR&gt;Secretary of State国务卿&lt;BR&gt;The Newseum新闻博物馆&lt;BR&gt;Washington, DC华盛顿哥伦比亚特区&lt;BR&gt;January 21, 2010 2010年1月21日&lt;/P&gt;<br/>&lt;P&gt;&lt;IMG alt=&#34; &#34; src=&#34;attachments/month_1001/2010122201948.jpg&#34;&gt; &lt;/P&gt;<br/>&lt;P&gt;这篇文章太长了,我得慢慢翻译,过几天来看我的博客吧！&lt;/P&gt;<br/>&lt;p&gt;如果谁愿意帮我翻译一部分，请将翻译好的内容发邮件到ms.fanxiaojie@163.com&lt;/p&gt;<br/>]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=71</link>
			<title><![CDATA[我最近翻译的ServerXmlhttp中文手册]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Thu,14 Jan 2010 00:54:47 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=71</guid>
		<description><![CDATA[&lt;P&gt;我最近想翻译四本asp&amp;amp;xml相关的电子手册，分别是以下四本：&lt;/P&gt;<br/>&lt;IMG src=&#34;<a href="http://www.asprain.com/uploadpic/2009-12-28/450150254689.jpg" target="_blank" rel="external">http://www.asprain.com/uploadpic/2009-12-28/450150254689.jpg</a>&#34;&gt;<br/>&lt;IMG src=&#34;<a href="http://www.asprain.com/uploadpic/2009-12-28/450467475706.jpg" target="_blank" rel="external">http://www.asprain.com/uploadpic/2009-12-28/450467475706.jpg</a>&#34;&gt;<br/>&lt;IMG src=&#34;<a href="http://www.asprain.com/uploadpic/2009-12-28/450811141325.jpg" target="_blank" rel="external">http://www.asprain.com/uploadpic/2009-12-28/450811141325.jpg</a>&#34;&gt;<br/>&lt;IMG src=&#34;<a href="http://www.asprain.com/uploadpic/2009-12-28/451019973010.jpg" target="_blank" rel="external">http://www.asprain.com/uploadpic/2009-12-28/451019973010.jpg</a>&#34;&gt;<br/>&lt;p&gt;其中《ServerXmlhttp中文手册》我已经翻译好了。下载地址是：&lt;a href=&#34;<a href="http://www.asprain.com/uploadfile/2010-1-8/789298634349.chm" target="_blank" rel="external">http://www.asprain.com/uploadfile/2010-1-8/789298634349.chm</a>&#34; target=&#34;_blank&#34;&gt;<a href="http://www.asprain.com/uploadfile/2010-1-8/789298634349.chm" target="_blank" rel="external">http://www.asprain.com/uploadfile/2010-1-8/789298634349.chm</a>&lt;/a&gt;&lt;/p&gt;]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=48</link>
			<title><![CDATA[Raphaël js用户手册]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Mon,15 Jun 2009 00:37:05 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=48</guid>
		<description><![CDATA[&lt;h2&gt;What is it?&lt;/h2&gt;<br/>&lt;p&gt;<br/>&nbsp;&nbsp; Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to cr&#101;ate your own specific chart o&#114; image crop and rotate widget, for example, you can achieve it simply and easily with this library. Raphaël是一个小型的Javascript库，它能够简化你为网页上的矢量图所作的工作。如果你想创建你自己的特定的图表或者图片剪裁和旋转部件，你可以用这个库简单轻松地实现它。<br/>&lt;/p&gt;<br/>&lt;p&gt;Raphaël uses the &lt;b&gt;SVG&lt;/b&gt; W3C Recommendation and &lt;abbr title=&#34;Vector Markup Language&#34;&gt;VML&lt;/abbr&gt; as a&amp;nbsp;base for creating graphics. This means every graphical object you cr&#101;ate is also a DOM object, so you can attach JavaScript event handlers o&#114; modify them later. Raphaël’s goal is to provide an adapter that will make drawing vector art compatible cross-browser and easy.<br/>Raphaël使用SVG W3C推荐标准和VML作为创建图形的标准。这意味着你创建的每一个图形对象也是一个DOM对象，因此，您可以附加JavaScript的事件处理程序或以后修改它们。Raphaël的目标是提供一种适配器，使绘画艺术载体轻松做到跨浏览器兼容&lt;/p&gt;<br/>&lt;p&gt;Raphaël currently supports Firefox3.0+, Safari 3.0+, Opera 9.5+, Chrome 2.0+ and Internet Explorer 6.0+. Raphaël现在支持Firefox 3.0以上版本，Safari 3.0以上版本, Opera 9.5以上版本 , Chrome 2.0以上版本以及IE6.0以上版本。&lt;/p&gt;<br/>&lt;h2 id=&#34;how-to-use-it&#34;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;How to use it?&lt;/h2&gt;<br/>&lt;p&gt; Download and include &lt;b&gt;raphael.js&lt;/b&gt; into your HTML page, then use it as simple as: 下载并包含raphael.js到你的html页上，然后照样例方式使用它：&lt;/p&gt;<br/>&lt;pre name=&#34;code&#34; class=&#34;javascript&#34;&gt;// Cr&#101;ates canvas 320 × 200 at 10, 50<br/>var paper = Raphael(10, 50, 320, 200);<br/>// Cr&#101;ates circle at x = 50, y = 40, with radius 10<br/>var circle = paper.circle(50, 40, 10);<br/>// Sets the fill attribute of the circle to red (#f00)<br/>circle.attr(&#34;fill&#34;, &#34;#f00&#34;);<br/>// Sets the stroke attribute of the circle to white (#fff)<br/>circle.attr(&#34;stroke&#34;, &#34;#fff&#34;);&lt;/pre&gt;<br/>]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=45</link>
			<title><![CDATA[aspEmail组件用户手册]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Mon,08 Jun 2009 13:49:36 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=45</guid>
		<description><![CDATA[&lt;img src=&#34;attachments/month_0906/200968135557.gif&#34; alt=&#34; &#34;/&gt;<br/>&lt;B&gt;08/09/2005: AspEmail 5.0.0.4 Service Pack Released 2005年8月9日,AspEmail5.0.0.4 Service Pack发布&lt;/B&gt;<br/>&lt;p&gt;Version 5.0.0.4 offers a new method, &lt;B&gt;ValidateAddress&lt;/B&gt;, which<br/>performs the syntactic validation of an arbitrary email address.版本5.0.0.4提供了一个新方法,ValidateAddress,它执行任何电子邮箱地址的语法验证.&lt;/p&gt;<br/>&lt;p&gt;This version also fixes a bug which caused deferred messages in the queue to be timestamped incorrectly. Now, if the &lt;B&gt;Mail.Timestamp&lt;/B&gt; property is used, a queued message&#39;s &lt;i&gt;Date:&lt;/i&gt; header is set to this property, <br/>not the message creation time.这个版本同时修复了一个错误,这个错误曾造成队列被推迟的消息时间戳记不正确。现在，如果Mail.Timestamp属性被使用了，一个消息队列的时间头将被设置为这个属性，而不是消息创建的时间。&lt;/p&gt;<br/>&lt;p&gt;Upgrades are absolutely free for the registered users.升级对注册用户来说是完全免费的。&lt;/p&gt;<br/>&lt;B&gt;06/24/2003: AspEmail 5.0 Released 2003年6月24日，AspEmail 5.0发布&lt;/B&gt;<br/>&lt;p&gt;AspEmail 5.0 offers a lot of new features you have been asking<br/>for, including full Unicode support and memory attachments. But most importantly,<br/>the new version comes with an all-new message queuing module which<br/>supports up to 64 simultaneous SMTP sessions, logging, CRAM-MD5 and NTLM<br/>authentication methods, automatic bounced-message handling, and much more. ASPEmail 5.0提供了很多被要求的新功能，包括全面支持Unicode编码以及记忆附件。但是更重要的是，这个新版本配备了一个全新的消息队列模块，支持多达64个同时进行的SMTP会话、登录，强制的MD5和NTLM身份验证方法，自动退回消息处理，等等。&lt;/p&gt;<br/>&lt;p&gt;For the complete list of new features, see &lt;B&gt;Chapter 1&lt;/B&gt;<br/>of the manual. Download AspEmail 5.0 &lt;a href=&#34;<a href="http://www.aspemail.com/download.html" target="_blank" rel="external">http://www.aspemail.com/download.html</a>&#34; target=&#34;_blank&#34;&gt;here&lt;/a&gt;.<br/>Upgrades are absolutely free for registered users.如要了解完整的新功能，请看手册的第一章。下载aspemail5.0&lt;a href=&#34;<a href="http://www.aspemail.com/download.html" target="_blank" rel="external">http://www.aspemail.com/download.html</a>&#34; target=&#34;_blank&#34;&gt;在此&lt;/a&gt;。&lt;/p&gt;<br/>&lt;B&gt;8/19/2002: .NET Code Samples Added 2002年8月19日 加入了.Net例子&lt;/B&gt;<br/>&lt;p&gt;Although AspEmail 4.5 is not a native .NET component, it has been<br/>thoroughly tested to work under the &lt;B&gt;ASP.NET&lt;/B&gt; environment. We have added<br/>&lt;B&gt;C#&lt;/B&gt; versions of all our code samples to the setup. <br/>Download the up&#100;ated aspemail.exe setup and start taking advantage of AspEmail&#39;s unique features under .NET now!虽然aspEmail 4.5.1不是一个自有的.Net组件，但是它已经在asp.net环境下被彻底测试过了。我们已经在所有安装程序的代码试例中加入了C#版本。现在就去下载这个更新的aspemail.exe并开始使用AspEmail在asp.net环境里的独特功能吧！&lt;/p&gt;<br/><br/>&lt;B&gt;3/25/2002: AspEmail 4.5.0.2 Service Release Available 2002年3月25日，AspEmail 4.5.0.2Service发布可用了&lt;/B&gt;<br/>&lt;p&gt;&lt;font color=red&gt;&lt;B&gt;NEW!&lt;/B&gt;&lt;/font&gt;&lt;B&gt;Mail.MailFrom&lt;/B&gt; property added.<br/>In earlier versions, both the &lt;B&gt;&lt;I&gt;From:&lt;/i&gt;&lt;/b&gt; and &lt;B&gt;&lt;I&gt;Return-Path:&lt;/i&gt;&lt;/b&gt; headers were set to the Mail.From value. For bounced-mail handling<br/>purposes, it may be useful to set the &lt;B&gt;&lt;I&gt;Return-Path:&lt;/i&gt;&lt;/b&gt; header<br/>to an email address other than the sender&#39;s address, and that&#39;s what the &lt;B&gt;MailFrom&lt;/B&gt; property does.新特色：加入了Mail.MailFrom属性。在早期的版本中，From和Return-Path头都被设置为Mail.From的值。对于退回的邮件的处理目的，给邮件的地址中加设置一个Return-Path头可能比发送者的地址更有用。这就是MailFrom属性的用处。&lt;/p&gt;<br/>&lt;p&gt;&lt;font color=red&gt;&lt;B&gt;NEW!&lt;/B&gt;&lt;/font&gt;<br/>An optional &lt;I&gt;AddToBody&lt;/i&gt; flag added to the &lt;B&gt;AppendBodyFromFile&lt;/B&gt;<br/>method to specify whether the &lt;B&gt;Body&lt;/B&gt; o&#114; &lt;B&gt;AltBody&lt;/B&gt;<br/>property should be appended. In earlier versions,<br/>only &lt;B&gt;Body&lt;/B&gt; could be appended via this method but not &lt;B&gt;AltBody&lt;/B&gt;.新功能：一个可选的AddToBody标识加到AppendBodyFromFile方法中来指定Body或者AltBody属性必须被附上。在早期的版本中，只有Body能够被通过这个方法附加，但是AltBody不能。&lt;/p&gt;<br/>&lt;p&gt;&lt;font color=red&gt;&lt;B&gt;NEW!&lt;/B&gt;&lt;/font&gt;<br/>For better compliance with the SMTP protocol,<br/>AspEmail 4.5.0.2 issues the command &lt;B&gt;EHLO&lt;/B&gt; instead of &lt;B&gt;HELO&lt;/B&gt;<br/>whenever the &lt;B&gt;Username&lt;/B&gt; property is used.新功能：为了更好地符合SMTP协议，当Username属性被用到的时候，AspEmail4.5.0.2使用EHLO命令来代码HELO命令。&lt;/p&gt;<br/>&lt;B&gt;1/24/2001: AspEmail 4.5 Released with &lt;I&gt;multipart/alt&#101;rnative&lt;/i&gt; Support 2001年1月24日：AspEmail 4.5发布了多重/替代支持。&lt;/B&gt;<br/>&lt;p&gt;With AspEmail 4.5, you can specify a text version of your message along with the HTML version to support email clients that are not HTML-enabled. The HTML part<br/>is still set via the &lt;B&gt;Body&lt;/B&gt; property.<br/>The text part is specified via the new property &lt;B&gt;AltBody&lt;/B&gt;, as follows:使用AspEmail4.5，你能够给你的已有html版的邮件指定一个文字版，来应对邮件客户端不支持html的功能。html部分依然通过Body属性来设置。文字部分通过这个新属性AltBody来设置，如下所示。&lt;/p&gt;<br/>&lt;p&gt;&lt;blockquote&gt;<br/>Mail.Body = &#34;&amp;lt;HTML&gt;&amp;lt;BODY&gt;Dear Sir:&amp;lt;P&gt;...&amp;lt;/HTML&gt;&#34;&lt;BR&gt;<br/>Mail.AltBody = &#34;Dear Sir:&#34; &amp; chr(13) &amp; chr(10) &amp; ...<br/>&lt;/blockquote&gt;&lt;/p&gt;<br/>&lt;p&gt;In Version 4.5, SMTP authentication<br/>via the &lt;B&gt;Username&lt;/B&gt; and &lt;B&gt;Password&lt;/B&gt; properties<br/>is extended to NNTP as well, so you can now use the method<br/>&lt;B&gt;SendToNewsgroup&lt;/B&gt; to post articles<br/>to password-protected news servers.在4.5版本中，SMTP通过Username和Password属性认证的功能被扩展到NNTP协议，这样你现在可以使用这个方法SendToNewsgroup来发送文件琶密码保护的服务里了。&lt;/p&gt;<br/>&lt;p&gt;AspEmail 4.5<br/>also offers a new property, &lt;B&gt;Timeout&lt;/B&gt;,<br/>through which socket timeout values can be set.<br/>在AspEmail 4.5中还提供了一个新属性Timeout，通过这个属性可以设置代理超时时限。&lt;/p&gt;<br/>&lt;B&gt;Encryption and Digital Signature Support加密和数字签名支持&lt;/B&gt;<br/>&lt;p&gt;AspEmail can be used in conjuncation with &lt;B&gt;AspEncrypt 2.0&lt;/B&gt;, our powerful cryptographic component, to send &lt;B&gt;signed messages&lt;/B&gt;, &lt;B&gt;encrypted messages&lt;/B&gt;, and messages that are first signed and then encrypted, in the S/MIME format. aspEmail能够与我们的强大的加密组件AspEncrypt2.0合起来用，来发送签名消息、加密邮件，以及用S/MIME格式第一次签名再加密的邮件。&lt;/p&gt;<br/>&lt;p&gt;Visit &lt;B&gt;&lt;A HREF=&#34;<a href="http://www.aspencrypt.com" target="_blank" rel="external">http://www.aspencrypt.com</a>&#34;&gt;www.aspencrypt.com&lt;/A&gt;&lt;/B&gt;<br/>to download your free 30-day trial copy of this component.访问www.aspencrypt.com来下载你的30天试用的这个组件的副本。&lt;/p&gt;<br/>&lt;B&gt;Send Email from your ASP o&#114; VB application with AspEmail 4.5. It&#39;s Free!通过你的Asp或者VB应用程序使用AspEmail 4.5发送邮件是免费的！&lt;/B&gt;<br/>&lt;p&gt;&lt;B&gt;AspEmail 4.5&lt;/B&gt; is a &lt;B&gt;free&lt;/B&gt; active server component that enables your ASP application to send email messages via any external SMTP server. The component supports multiple file attachments, multiple recipients, CCs, BCCs, and REPLY-TOs. AspEmail 4.5是一个免费的Active Server组件，使您的ASP应用程序通过任何外部SMTP服务器发送电子邮件信息。该组件支持多种文件附件，多个收件人、CCs、BCCs以及回复邮件。&lt;/p&gt;<br/>&lt;p&gt;In addition to basic functionality available for free, AspEmail 4.5 offers a number of &lt;B&gt;premium features&lt;/B&gt;<br/>that require a registration key after a 30-day evaluation period. These features are &lt;B&gt;support for message queuing&lt;/B&gt;, &lt;B&gt;embedded images&lt;/B&gt;, &lt;B&gt;Quoted-Printable format&lt;/B&gt;,<br/>&lt;B&gt;multipart/alt&#101;rnative&lt;/B&gt; support and &lt;B&gt;authentication&lt;/B&gt;. <br/>Regular file attachments are still free, of course.除了基全的免费功能提供，AspEmail4。5在30天评估期之后还提供了一些高级功能，但是使用它需要一个注册码。这些功能支持消息队列、嵌入式图像引用、打印格式、多重/替代的支持和验证。当然，常规文件附件仍然免费。&lt;/p&gt;<br/>&lt;B&gt;Spice up Your Messages with Embedded Images and Sounds在你的邮件里嵌入图像和声音。&lt;/B&gt;<br/>&lt;p&gt;This premium feature allows you to send messages in the HTML format <br/>with embedded images and backgrounds. You can even embed<br/>sounds in your messages. Here is how it&#39;s done:这个溢价功能允许你在用html格式发送消息时同时带上嵌入式图像和背景。你甚至可以在你的消息里嵌入声音，这里有个做法示例&lt;/p&gt;<br/>&lt;p&gt;&lt;blockquote&gt;...&lt;BR&gt;<br/>Mail.AddEmbeddedImage &#34;c:\dir\bk.gif&#34;, &#34;My-Image&#34;&lt;BR&gt;<br/>Mail.Body = _&lt;BR&gt;<br/>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#34;&amp;lt;HTML&gt;&amp;lt;BODY BACKGROUND=&#34;&#34;cid:My-Image&#34;&#34;&gt;...&amp;lt;/HTML&gt;&#34;&lt;/blockquote&gt;<br/>&lt;P&gt;or或者&lt;/p&gt;<br/>&lt;blockquote&gt;Mail.AddEmbeddedImage &#34;c:\dir\ring.wav&#34;, &#34;My-Sound&#34;&lt;BR&gt;<br/>Mail.Body = _&lt;BR&gt;<br/>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#34;&amp;lt;HTML&gt;&amp;lt;BGSOUND SRC=&#34;&#34;cid:My-Sound&#34;&#34;&gt;&amp;lt;/BGSOUND&gt;...&#34;<br/>&lt;/blockquote&gt;<br/>&lt;B&gt;Send Messages with File Attachments over the Web.通过网络发送带附件的消息。&lt;/B&gt;<br/>&lt;p&gt;AspEmail can be used in conjunction with &lt;B&gt;AspUpload&lt;/B&gt;, the leading file upload component <br/>from &lt;A HREF=&#34;<a href="http://www.persits.com" target="_blank" rel="external">http://www.persits.com</a>&#34;&gt;Persits Software&lt;/A&gt;, to sendmessages with &lt;B&gt;file attachments&lt;/B&gt; over the Web,<br/>as demonstrated by our Live Demo. aspEmail还能够与领先的文件上传组件aspUpload合用(从&lt;b&gt;Persits Software&lt;/b&gt;下载这个组件)，从而通过网络发送带文件附件的消息，就像我们现场演示的那样。&lt;/p&gt;<br/>]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=34</link>
			<title><![CDATA[最近准备翻译一部swift 3D的教程]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Sat,23 May 2009 09:25:00 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=34</guid>
		<description><![CDATA[&lt;p&gt;之前很想学swift3D,但是网上的中文教程真是一点都找不到.就算有,也非常简陋,一点都不详细.后来我发现其实最详细的教程就在眼皮底下.那个软件自带的那本userGuider.pdf写得非常详细.可惜是英文版的.这本教程有两百多页,我打算把它翻译成中文.因为时间关系,我只选择重要的部分翻译,不重要的部分就算了.希望我的心血能够对想学习这款软件的人有帮助.&lt;/p&gt;<br/>&lt;img src=&#34;attachments/month_0905/200952392157.png&#34; alt=&#34;&#34;/&gt;<br/>&lt;p&gt;下面将是连载:&lt;/p&gt;]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=44</link>
			<title><![CDATA[ISAPI_Rewrite用户手册11]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Fri,24 Apr 2009 11:22:04 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=44</guid>
		<description><![CDATA[&lt;h1&gt;RewriteMap directive&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Description:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Defines a key to value mapping function&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;RewriteMap &lt;em&gt;MapName MapType:MapSource&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/><br/>&lt;p&gt;&lt;em&gt;RewriteMap&lt;/em&gt; directive is used to define a key-to-value lookup function. <br/>&nbsp;&nbsp;This is useful when you need to map large amount of values since it is much <br/>&nbsp;&nbsp;faster than doing it with rule matching. Performance of map function rely on <br/>&nbsp;&nbsp;a size of map file insignificantly. There are three types of mapping:&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;strong&gt;txt:&lt;/strong&gt; mapping using text file map;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; rnd:&lt;/strong&gt; random value sel&#101;ct from multiple choices;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; int:&lt;/strong&gt; internal functions.&lt;/li&gt;<br/>&lt;/ul&gt;<br/>&lt;p&gt;&lt;em&gt;&lt;strong&gt;MapName&lt;/strong&gt;&lt;/em&gt; is the name of mapping function that will <br/>&nbsp;&nbsp;be used to refer to this map from RewriteRule command. Make sure that every <br/>&nbsp;&nbsp;mapping is defined with a unique name. You can call mapping function in the <br/>&nbsp;&nbsp;&lt;em&gt;Susbtitution&lt;/em&gt; value of RewriteRule directive using the following syntax:&lt;/p&gt;<br/>&lt;p&gt; &lt;strong&gt;${ MapName : LookupKey | DefaultValue }&lt;/strong&gt;&lt;/p&gt;<br/>&lt;p&gt; If this construction is found in &lt;em&gt;Substitution,&lt;/em&gt; ISAPI_Rewrite will lookup <br/>&nbsp;&nbsp;for the key in the map and if one is found, substitute the construct by its value. <br/>&nbsp;&nbsp;If no key is found, optional &lt;em&gt;DefaultValue&lt;/em&gt; will be used. If no &lt;em&gt;DefaultValue&lt;/em&gt; <br/>&nbsp;&nbsp;is specified, it will be substituted by an empty string.&lt;/p&gt;<br/>&lt;p&gt;Here is an example of declaring maps:&lt;/p&gt;<br/>&lt;blockquote&gt;<br/>&nbsp;&nbsp;&lt;p&gt; RewriteMap examplemap txt:C:/path/to/file/map.txt&lt;/p&gt;<br/>&lt;/blockquote&gt;<br/>&lt;p&gt;Path to &lt;em&gt;MapSource&lt;/em&gt; file coule be either absolute o&#114; relative. Relative <br/>&nbsp;&nbsp;path are calculeted from the folder with current configuration file, i.e. from <br/>&nbsp;&nbsp;the configuration file path wh&#101;re this map has been declared.&lt;/p&gt;<br/>&lt;p&gt;Then you may use this map in RewriteRule as follows:&lt;/p&gt;<br/>&lt;blockquote&gt;<br/>&nbsp;&nbsp;&lt;p&gt; RewriteRule ^/ex/(.*) ${examplemap:$1}&lt;/p&gt;<br/>&lt;/blockquote&gt;<br/>&lt;p&gt;The following combinations for &lt;em&gt;MapType&lt;/em&gt; and &lt;em&gt;MapSource&lt;/em&gt; can <br/>&nbsp;&nbsp;be used:&lt;/p&gt;<br/>&lt;p&gt;&lt;strong&gt; txt:&lt;/strong&gt; Plain text mapping. The &lt;em&gt;source&lt;/em&gt; is a Windows <br/>&nbsp;&nbsp;file system path to a valid text file. Text file should be of the following <br/>&nbsp;&nbsp;format:&lt;/p&gt;<br/>&lt;blockquote&gt; <br/>&nbsp;&nbsp;&lt;p&gt;#This is a comment&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key1 value1 #Another comment&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key2 value2&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;keyN valueN&lt;/p&gt;<br/>&nbsp;&nbsp;&lt;/blockquote&gt;<br/>&lt;p&gt;&lt;strong&gt;rnd: &lt;/strong&gt;Random multiple values lookup. Source is the path to a text <br/>&nbsp;&nbsp;file of the following format:&lt;/p&gt;<br/>&lt;blockquote&gt;<br/>&nbsp;&nbsp;&lt;p&gt;#This is a comment&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key1 value1|value2|value3&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key2 value4|value5|value6|valueN&lt;/p&gt;<br/>&lt;/blockquote&gt;<br/>&lt;p&gt;&lt;strong&gt;int:&lt;/strong&gt; Internal function call. Source should be one of the following <br/>&nbsp;&nbsp;pre-defined internal functions:&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;strong&gt;toupper:&lt;/strong&gt; Converts the key to all upper case.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt;tolower:&lt;/strong&gt; Converts the key to all lower case.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt;escape:&lt;/strong&gt; Encode special characters to hex values.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt;unescape:&lt;/strong&gt; Unencode hex values to special characters.&lt;/li&gt;<br/>&lt;/ul&gt;<br/>&lt;h1&gt;RewriteMap directive&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Description:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Defines a key to value mapping function&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;RewriteMap &lt;em&gt;MapName MapType:MapSource&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/><br/>&lt;p&gt;&lt;em&gt;RewriteMap&lt;/em&gt; directive is used to define a key-to-value lookup function. <br/>&nbsp;&nbsp;This is useful when you need to map large amount of values since it is much <br/>&nbsp;&nbsp;faster than doing it with rule matching. Performance of map function rely on <br/>&nbsp;&nbsp;a size of map file insignificantly. There are three types of mapping:&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;strong&gt;txt:&lt;/strong&gt; mapping using text file map;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; rnd:&lt;/strong&gt; random value sel&#101;ct from multiple choices;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; int:&lt;/strong&gt; internal functions.&lt;/li&gt;<br/>&lt;/ul&gt;<br/>&lt;p&gt;&lt;em&gt;&lt;strong&gt;MapName&lt;/strong&gt;&lt;/em&gt; is the name of mapping function that will <br/>&nbsp;&nbsp;be used to refer to this map from RewriteRule command. Make sure that every <br/>&nbsp;&nbsp;mapping is defined with a unique name. You can call mapping function in the <br/>&nbsp;&nbsp;&lt;em&gt;Susbtitution&lt;/em&gt; value of RewriteRule directive using the following syntax:&lt;/p&gt;<br/>&lt;p&gt; &lt;strong&gt;${ MapName : LookupKey | DefaultValue }&lt;/strong&gt;&lt;/p&gt;<br/>&lt;p&gt; If this construction is found in &lt;em&gt;Substitution,&lt;/em&gt; ISAPI_Rewrite will lookup <br/>&nbsp;&nbsp;for the key in the map and if one is found, substitute the construct by its value. <br/>&nbsp;&nbsp;If no key is found, optional &lt;em&gt;DefaultValue&lt;/em&gt; will be used. If no &lt;em&gt;DefaultValue&lt;/em&gt; <br/>&nbsp;&nbsp;is specified, it will be substituted by an empty string.&lt;/p&gt;<br/>&lt;p&gt;Here is an example of declaring maps:&lt;/p&gt;<br/>&lt;blockquote&gt;<br/>&nbsp;&nbsp;&lt;p&gt; RewriteMap examplemap txt:C:/path/to/file/map.txt&lt;/p&gt;<br/>&lt;/blockquote&gt;<br/>&lt;p&gt;Path to &lt;em&gt;MapSource&lt;/em&gt; file coule be either absolute o&#114; relative. Relative <br/>&nbsp;&nbsp;path are calculeted from the folder with current configuration file, i.e. from <br/>&nbsp;&nbsp;the configuration file path wh&#101;re this map has been declared.&lt;/p&gt;<br/>&lt;p&gt;Then you may use this map in RewriteRule as follows:&lt;/p&gt;<br/>&lt;blockquote&gt;<br/>&nbsp;&nbsp;&lt;p&gt; RewriteRule ^/ex/(.*) ${examplemap:$1}&lt;/p&gt;<br/>&lt;/blockquote&gt;<br/>&lt;p&gt;The following combinations for &lt;em&gt;MapType&lt;/em&gt; and &lt;em&gt;MapSource&lt;/em&gt; can <br/>&nbsp;&nbsp;be used:&lt;/p&gt;<br/>&lt;p&gt;&lt;strong&gt; txt:&lt;/strong&gt; Plain text mapping. The &lt;em&gt;source&lt;/em&gt; is a Windows <br/>&nbsp;&nbsp;file system path to a valid text file. Text file should be of the following <br/>&nbsp;&nbsp;format:&lt;/p&gt;<br/>&lt;blockquote&gt; <br/>&nbsp;&nbsp;&lt;p&gt;#This is a comment&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key1 value1 #Another comment&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key2 value2&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;keyN valueN&lt;/p&gt;<br/>&nbsp;&nbsp;&lt;/blockquote&gt;<br/>&lt;p&gt;&lt;strong&gt;rnd: &lt;/strong&gt;Random multiple values lookup. Source is the path to a text <br/>&nbsp;&nbsp;file of the following format:&lt;/p&gt;<br/>&lt;blockquote&gt;<br/>&nbsp;&nbsp;&lt;p&gt;#This is a comment&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key1 value1|value2|value3&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;key2 value4|value5|value6|valueN&lt;/p&gt;<br/>&lt;/blockquote&gt;<br/>&lt;p&gt;&lt;strong&gt;int:&lt;/strong&gt; Internal function call. Source should be one of the following <br/>&nbsp;&nbsp;pre-defined internal functions:&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;strong&gt;toupper:&lt;/strong&gt; Converts the key to all upper case.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt;tolower:&lt;/strong&gt; Converts the key to all lower case.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt;escape:&lt;/strong&gt; Encode special characters to hex values.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt;unescape:&lt;/strong&gt; Unencode hex values to special characters.&lt;/li&gt;<br/>&lt;/ul&gt;<br/>&lt;h1&gt;RewriteLogLevel directive&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Description:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Sets the level of logging&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;RewriteLogLevel &lt;em&gt;Level&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Default:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;RewriteLogLevel 0&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/><br/>&lt;p&gt;This directive sets the verbosity of logging output. The default value of 0 <br/>&nbsp;&nbsp;means no logging while maximum level of 9 means all actions will be logged.&lt;/p&gt;<br/>&lt;p&gt;Using higher values of logging may slow down ISAPI_Rewrite operation. We recommend <br/>&nbsp;&nbsp;you to disable logging by setting log level to 0 after debugging of your ruleset <br/>&nbsp;&nbsp;has been completed.&lt;/p&gt;]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=43</link>
			<title><![CDATA[ISAPI_Rewrite用户手册10]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Wed,22 Apr 2009 11:11:41 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=43</guid>
		<description><![CDATA[&lt;h1&gt;RewriteProxy directive&lt;/h1&gt;&lt;table&gt; &lt;tr&gt; &lt;td&gt;Description:&lt;/td&gt; &lt;td&gt;Proxy request to a distant server&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Syntax:&lt;/td&gt; &lt;td class=&#34;code&#34;&gt;RewriteProxy &lt;em&gt;Pattern Substitution [flags]&lt;/em&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Context:&lt;/td&gt; &lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;p&gt; Causes the resulting URL to be internally treated as a target on another server and immediately (i.e. rules processing stops here) passed to the remote server. Response of the remote server will then be passed back to the client. Proxy requires you to specify fully qualified URL, starting from protocol, host name, etc. ISAPI_Rewrite uses ISAPI extension to handle proxy requests. You can read more about this in configuring proxy chapter.&lt;/p&gt;&lt;p&gt;Syntax and operation is the same as for &lt;b&gt;RewriteRule&lt;/b&gt; directive, but RewriteProxy directive supports some additional flags:&lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;H &lt;/strong&gt;(preserve Host)&lt;br&gt; &lt;br&gt; Proxy module will use Host header sent in o&#114;iginal request when connecting to remote server. Without this flag proxy will compose Host header from a host name and a port of a remote server.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;A&lt;/strong&gt;&amp;nbsp;(&lt;strong&gt;A&lt;/strong&gt;dd authentication headers)&lt;br&gt; &lt;P&gt;Allows passing of an authentication information from proxy to an internal server when client authentication against a proxy server is used. Proxy module will append headers &lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt; X-ISRW-Proxy-AUTH-TYPE,&lt;br&gt;X-ISRW-Proxy-AUTH-USER,&lt;br&gt;X-ISRW-Proxy-LOGON-USER,&lt;br&gt;X-ISRW-Proxy-REMOTE-USER&lt;br&gt;&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt; corresponding to server variables &lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt; AUTH_TYPE,&lt;br&gt;AUTH_USER,&lt;br&gt;LOGON_USER,&lt;br&gt;REMOTE_USER&lt;br&gt;&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt; to a request sent to a proxied server. &lt;/P&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;CR &lt;/strong&gt;(use Credentials)&lt;br&gt; &lt;br&gt; Proxy module will try to login on a remote server with the credentials specified in the URL o&#114; basic authentication headers. With this flag you can use <a href="http://user:password@host.com/path/" target="_blank" rel="external">http://user:password@host.com/path/</a> syntax as a URL within substitution string. &amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;RewriteProxy directive&lt;/h1&gt;&lt;table&gt; &lt;tr&gt; &lt;td&gt;Description:&lt;/td&gt; &lt;td&gt;Proxy request to a distant server&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Syntax:&lt;/td&gt; &lt;td class=&#34;code&#34;&gt;RewriteProxy &lt;em&gt;Pattern Substitution [flags]&lt;/em&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Context:&lt;/td&gt; &lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; Causes the resulting URL to be internally treated as a target on another server and immediately (i.e. rules processing stops here) passed to the remote server. Response of the remote server will then be passed back to the client. Proxy requires you to specify fully qualified URL, starting from protocol, host name, etc. ISAPI_Rewrite uses ISAPI extension to handle proxy requests. You can read more about this in configuring proxy chapter.&lt;/p&gt;&lt;p&gt;Syntax and operation is the same as for &lt;b&gt;RewriteRule&lt;/b&gt; directive, but RewriteProxy directive supports some additional flags:&lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;H &lt;/strong&gt;(preserve Host)&lt;br&gt; &lt;br&gt; Proxy module will use Host header sent in o&#114;iginal request when connecting to remote server. Without this flag proxy will compose Host header from a host name and a port of a remote server.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;A&lt;/strong&gt;&amp;nbsp;(&lt;strong&gt;A&lt;/strong&gt;dd authentication headers)&lt;br&gt; &lt;P&gt;Allows passing of an authentication information from proxy to an internal server when client authentication against a proxy server is used. Proxy module will append headers &lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt; X-ISRW-Proxy-AUTH-TYPE,&lt;br&gt;X-ISRW-Proxy-AUTH-USER,&lt;br&gt;X-ISRW-Proxy-LOGON-USER,&lt;br&gt;X-ISRW-Proxy-REMOTE-USER&lt;br&gt;&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt; corresponding to server variables &lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt; AUTH_TYPE,&lt;br&gt;AUTH_USER,&lt;br&gt;LOGON_USER,&lt;br&gt;REMOTE_USER&lt;br&gt;&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt; to a request sent to a proxied server. &lt;/P&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;CR &lt;/strong&gt;(use Credentials)&lt;br&gt; &lt;br&gt; Proxy module will try to login on a remote server with the credentials specified in the URL o&#114; basic authentication headers. With this flag you can use <a href="http://user:password@host.com/path/" target="_blank" rel="external">http://user:password@host.com/path/</a> syntax as a URL within substitution string. &amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;RewriteHeader directive&lt;/h1&gt;&lt;table&gt; &lt;tr&gt; &lt;td&gt;Description:&lt;/td&gt; &lt;td&gt;Rewrites any HTTP header in request&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Syntax:&lt;/td&gt; &lt;td class=&#34;code&#34;&gt;RewriteHeader &lt;em&gt;HeaderName: Pattern Substitution [flags]&lt;/em&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Context:&lt;/td&gt; &lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;p&gt;The RewriteHeader directive is more general variant of &lt;em&gt;RewriteRule&lt;/em&gt; directive and it is designed to rewrite not only the URL part of client request, but any HTTP header. Technically &lt;em&gt;RewriteRule&lt;/em&gt; directive is equivalent to the &lt;em&gt;RewriteHeader&lt;/em&gt; &lt;em&gt;URL Pattern Substitution [flags]&lt;/em&gt;. This directive can be used to rewrite, cr&#101;ate o&#114; del&#101;te any HTTP headers in the client request before it will be processed by further applications on IIS.&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;HeaderName&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;:&lt;/strong&gt; specifies name of HTTP header that will be rewritten.&lt;/p&gt;&lt;p&gt;Pattern, Substitution and flags are the same as for &lt;b&gt;RewriteRule directive&lt;/b&gt;.&lt;/p&gt;<br/>]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=42</link>
			<title><![CDATA[ISAPI_Rewrite用户手册09]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Mon,20 Apr 2009 10:57:56 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=42</guid>
		<description><![CDATA[&lt;h1&gt;RewriteCond directive&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width=&#34;110&#34;&gt;Description:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Defines a condition for the following RewriteRule&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class=&#34;code&#34;&gt;RewriteCond &lt;em&gt;TestString&lt;/em&gt; &lt;em&gt;CondPattern&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/>&lt;p&gt;&amp;nbsp;&lt;/p&gt;<br/>&lt;p&gt;This directive defines a single condition for the following &lt;em&gt;RewriteRule&lt;/em&gt;, <br/>&nbsp;&nbsp;&lt;em&gt;RewriteHeader&lt;/em&gt; o&#114; &lt;em&gt;RewriteProxy&lt;/em&gt; directive. There can be one <br/>&nbsp;&nbsp;o&#114; more conditions preceding a rule directive and the rule will only apply <br/>&nbsp;&nbsp;if all of the conditions are met.&lt;/p&gt;<br/>&lt;p&gt;&lt;strong&gt;&lt;em&gt;TestString&lt;/em&gt;&lt;/strong&gt; additionally to plain text can contain <br/>&nbsp;&nbsp;the following constructs:&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt;Back references to &lt;em&gt;RewriteRule&lt;/em&gt; pattern using syntax &lt;strong&gt;$N&lt;/strong&gt;.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt; Back references to preceding &lt;em&gt;RewriteCond&lt;/em&gt; patterns using syntax <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;%N.&lt;/strong&gt;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;em&gt;RewriteMap&lt;/em&gt; expansions using syntax &lt;strong&gt;${mapname:key|default}&lt;/strong&gt;.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;HTTP header value with the syntax &lt;strong&gt;%{HTTP:header}&lt;/strong&gt;.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt; Server variable using the syntax &lt;strong&gt;%{ NAME_OF_VARIABLE }&lt;/strong&gt;.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Here is a list of available server variables:|&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td valign=&#34;top&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;HTTP_USER_AGENT&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP_REFERER&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP_COOKIE&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP_FORWARDED&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP_HOST&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP_PROXY_CONNECTION&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP_ACCEPT&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REMOTE_ADDR&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REMOTE_HOST&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REMOTE_PORT&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REMOTE_USER&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REMOTE_IDENT&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REQUEST_METHOD&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCRIPT_FILENAME&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PATH_INFO&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QUERY_STRING&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AUTH_TYPE&lt;/p&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td valign=&#34;top&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;DOCUMENT_ROOT&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERVER_NAME&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERVER_ADDR&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERVER_PORT&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERVER_PROTOCOL&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERVER_SOFTWARE&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;API_VERSION&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;THE_REQUEST&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REQUEST_URI&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REQUEST_FILENAME&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTPS&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/p&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td valign=&#34;top&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;TIME_YEAR&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME_MON&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME_DAY&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME_HOUR&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME_MIN&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME_SEC&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME_WDAY&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME&lt;/p&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;Additionally all specail IIS server variables are supported.&lt;/p&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&lt;/li&gt;<br/>&lt;/ul&gt;<br/>&lt;p&gt;&lt;em&gt;&lt;strong&gt;CondPattern&lt;/strong&gt;&lt;/em&gt; specifies a regular e&#173;xpression that will <br/>&nbsp;&nbsp;be applied to the instance of TestString. Following special values are also <br/>&nbsp;&nbsp;supported:&lt;/p&gt;<br/>&lt;ol&gt;<br/>&nbsp;&nbsp;&lt;li&gt;Prefix regular e&#173;xpression with &lt;strong&gt;&#39;!&#39;&lt;/strong&gt; symbol to specify negation <br/>&nbsp;&nbsp;&nbsp;&nbsp;pattern.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt;&#39;&amp;lt;CondPattern&#39;&lt;/strong&gt; Treats &lt;em&gt;CondPattern&lt;/em&gt; as a plain <br/>&nbsp;&nbsp;&nbsp;&nbsp;string that will be lexicographically compared as more than.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;&amp;gt;CondPattern&#39;&lt;/strong&gt; Lexicographically less then comparison.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;=CondPattern&#39;&lt;/strong&gt; Lexicographically equals comparison.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;-d&#39;&lt;/strong&gt; Test string is existing directory.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;-f&#39;&lt;/strong&gt; Test string is existing file.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;-s&#39;&lt;/strong&gt; Test string is a file with nonzero size.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;-l&#39;&lt;/strong&gt; (link) Unsupported, always false.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;-x&#39;&lt;/strong&gt; (has executable permissions) Unsupported, always <br/>&nbsp;&nbsp;&nbsp;&nbsp;true.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;-F&#39;&lt;/strong&gt; (is existing file, via subrequest) Unsupported, same <br/>&nbsp;&nbsp;&nbsp;&nbsp;as &#39;&amp;#8211;f&#39;.&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &#39;-U&#39;&lt;/strong&gt; (is existing URL, via subrequest) Unsupported, always <br/>&nbsp;&nbsp;&nbsp;&nbsp;false.&lt;/li&gt;<br/>&lt;/ol&gt;<br/>&lt;p&gt;The following flags are also supported:&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;span class=&#34;green&#34;&gt;&lt;strong&gt;&#39;nocase|NC&#39;&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;This flag makes the Pattern case-insensitive.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;span class=&#34;green&#34;&gt;&lt;strong&gt;&#39;ornext|OR&#39;&lt;/strong&gt;&lt;/span&gt; &lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;This flag combines subsequent RewriteCond directives with logical o&#114; instead <br/>&nbsp;&nbsp;&nbsp;&nbsp;of implicit AND.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;O&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Leaved for compatibility with ISAPI_Rewrite 2.x. Normalizes string before <br/>&nbsp;&nbsp;&nbsp;&nbsp;processing. Normalization includes removing of an URL-encoding, illegal characters, <br/>&nbsp;&nbsp;&nbsp;&nbsp;etc. Also, IIS normalization of a URL completely removes query string from <br/>&nbsp;&nbsp;&nbsp;&nbsp;it. &lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&lt;/ul&gt;<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=41</link>
			<title><![CDATA[ISAPI_Rewrite用户手册08]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Sat,18 Apr 2009 19:42:56 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=41</guid>
		<description><![CDATA[&lt;h1&gt;RewriteRule directive&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width=&#34;110&#34;&gt;Description:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Defines URL rewriting rule&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;RewriteRule &lt;em&gt;Pattern Substitution [flags]&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/>&lt;p&gt;&amp;nbsp;&lt;/p&gt;<br/>&lt;p&gt;This directive defines a single URL rewriting operation. It may occur more <br/>&nbsp;&nbsp;that once in configuration file with each instance defining a rule to rewrite <br/>&nbsp;&nbsp;URL. RewriteRule directive consists of URL matching Pattern, Substitution string <br/>&nbsp;&nbsp;and optional set of flags.&lt;/p&gt;<br/>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Pattern&lt;/strong&gt;&lt;/em&gt; is a perl compatible regular e&#173;xpression which <br/>&nbsp;&nbsp;will be matched against current URL. The current URL can be o&#114;iginally requested <br/>&nbsp;&nbsp;URL o&#114; URL already alt&#101;red by preceding rules. URL never includes protocol o&#114; <br/>&nbsp;&nbsp;host name and starts from the first slash character (true for httpd.conf only). <br/>&nbsp;&nbsp;Also current URL differs depending on a level of configuration that is applied, <br/>&nbsp;&nbsp;i.e. for directory level configuration (.htaccess file) trailing slash and configuration <br/>&nbsp;&nbsp;file directory name will be omitted from the URL to match against. Please see <br/>&nbsp;&nbsp;&lt;b&gt;Regular e&#173;xpression syntax &lt;/b&gt;section of the documentation <br/>&nbsp;&nbsp;for more information on building regular e&#173;xpressions. &lt;/p&gt;<br/>&lt;p&gt;Preceding pattern by a &#39;!&#39; character will negate entire e&#173;xpression. Negated <br/>&nbsp;&nbsp;pattern cannot generate submatches so you cannot use $N references in substitution.&lt;/p&gt;<br/>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Substitution&lt;/strong&gt;&lt;/em&gt; string specifies format string to generate <br/>&nbsp;&nbsp;new URL if the &lt;em&gt;Pattern&lt;/em&gt; was matched. In addition to plain text, it can <br/>&nbsp;&nbsp;include these specail characters:&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt;back references to RewriteRule pattern &lt;strong&gt;$N&lt;/strong&gt;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;back references to RewriteCond patterns &lt;strong&gt;%N&lt;/strong&gt;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;server variables &lt;strong&gt;%{VARNAME}&lt;/strong&gt;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;conditional format patterns &lt;strong&gt;?Ntrue_string:false_string&lt;/strong&gt;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;grouping parenthesis &amp;#8216;&lt;strong&gt;(&lt;/strong&gt;&amp;#8216; and &amp;#8216;&lt;strong&gt;)&lt;/strong&gt;&amp;#8217;&lt;/li&gt;<br/>&lt;/ul&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;P&gt;Substitution strings treat all characters as literals except for &#39;$&#39;, &#39;\&#39;, <br/>&nbsp;&nbsp;&#39;(&#39;, &#39;)&#39;, &#39;?&#39;, &#39;:&#39; and &#39;\&#39;. To read special characters literally it is recommended <br/>&nbsp;&nbsp;to escape it with &#39;&lt;strong&gt;\&lt;/strong&gt;&#39;. The following special characters are <br/>&nbsp;&nbsp;allowed:&lt;BR&gt;<br/>&nbsp;&nbsp;&amp;nbsp;&lt;/P&gt;<br/>&lt;p&gt;<br/>&lt;TABLE&gt;<br/>&nbsp;&nbsp;&lt;TBODY&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;$&amp;amp;&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Outputs what matched the whole e&#173;xpression.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;$`&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Outputs the text between the end of the last match found (or the start <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of the text if no previous match was found), and the start of the current <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;match.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;$&#39;&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Outputs all the text following the end of the current match.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;$$&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Outputs a literal &#39;$&#39;&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\a&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;The bell character.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\f&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;The form feed character.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\n&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;The newline character.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\r&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;The carriage return character.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\t&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;The tab character.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\v&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;A vertical tab character.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\x&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;A hexadecimal character - for example \x0D.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\x{}&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;A possible unicode hexadecimal character - for example \x{1A0}&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\cx&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;The ASCII escape character x, for example \c@ is equivalent to escape-@.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\e&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;The ASCII escape character.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\dd&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;An octal character constant, for example \10.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\l&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Causes the next character to be outputted, to be output in lower case.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\u&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Causes the next character to be outputted, to be output in upper case.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\L&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Causes all subsequent characters to be output in lower case, until a <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\E is found.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\U&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Causes all subsequent characters to be output in upper case, until a <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\E is found.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\E&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Terminates a \L o&#114; \U sequence.&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TR class=&#34;table&#34;&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;\\&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TD&gt;Single back slash character &#39;\&#39;&lt;/TD&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TR&gt;<br/>&nbsp;&nbsp;&lt;/TBODY&gt;<br/>&lt;/TABLE&gt;<br/>&lt;/p&gt;<br/>&lt;P&gt;RewriteRules are applied in the o&#114;der of appearance in configuration file, starting <br/>&nbsp;&nbsp;from the parent configuration files. Each rule will apply only if its <br/>&nbsp;&nbsp;&lt;em&gt;Pattern&lt;/em&gt; matches a URL and all connected conditions (RewriteCond) are <br/>&nbsp;&nbsp;also matched. After that URL is completely replaced by a &lt;em&gt;Substitution&lt;/em&gt; <br/>&nbsp;&nbsp;and rewriting process continues until the end of configuration file o&#114; a rule <br/>&nbsp;&nbsp;with any of the stop flags. Special string &#39;-&#39; (dash) in &lt;em&gt;Substitution&lt;/em&gt; <br/>&nbsp;&nbsp;means no substitution, and it is useful when you need to apply the rule while leaving <br/>&nbsp;&nbsp;o&#114;iginal URL untouched.&lt;/P&gt;<br/>&lt;p&gt;Additionally here is the list of supported &lt;em&gt;&lt;strong&gt;flags&lt;/strong&gt;&lt;/em&gt; that <br/>&nbsp;&nbsp;can alt&#101;r rule behavior. Fully Apache compatible flags are marked &lt;span class=&#34;green&#34;&gt;green&lt;/span&gt;, <br/>&nbsp;&nbsp;unsupported flags are &lt;span class=&#34;red&#34;&gt;red&lt;/span&gt;, and additional flags only <br/>&nbsp;&nbsp;supported by ISAPI_Rewrite are &lt;span class=&#34;yellow&#34;&gt;yellow&lt;/span&gt;. ISAPI_Rewrite <br/>&nbsp;&nbsp;will ignore all unsupported flags.&lt;/p&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;span class=&#34;yellow&#34;&gt;&lt;strong&gt;CU &lt;/strong&gt;(Case Upper)&lt;/span&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Changes the case of substitution result to upper.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;span class=&#34;yellow&#34;&gt;&lt;strong&gt;CL &lt;/strong&gt;(Case Lower)&lt;/span&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Changes the case of substitution result to lower.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;chain|C&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Chains current rule with the next rule. Next rule will be exe&lt;font&gt;c&lt;/font&gt;uted only if <br/>&nbsp;&nbsp;&nbsp;&nbsp;current rule is matched. Chain can be subsequent.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;cookie|CO=NAME:VAL:domain[:lifetime[:path]]&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Sets a cookie header with the fields specified and send it to the client with <br/>&nbsp;&nbsp;&nbsp;&nbsp;the response to the current request.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt; &lt;span class=&#34;red&#34;&gt;&lt;strong&gt;env|E=VAR:VAL&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Unsupported. In UNIX environment sets an environment variable. Meaningless <br/>&nbsp;&nbsp;&nbsp;&nbsp;for Windows systems.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;forbidden|F&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Sends immediate 403 FORBIDDEN response to the client. Stops rule processing <br/>&nbsp;&nbsp;&nbsp;&nbsp;and all other subsequent processing on this request.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;gone|G&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Sends immediate 401 GONE response to the client. Stops rule processing and <br/>&nbsp;&nbsp;&nbsp;&nbsp;all other subsequent processing on this request.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;red&#34;&gt;handler|H=Content-handler&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Unsupported. Explicitly specifies handler for a request. In IIS world this <br/>&nbsp;&nbsp;&nbsp;&nbsp;can be achieved by rewriting file extension of requested file but there is <br/>&nbsp;&nbsp;&nbsp;&nbsp;no direct translation from Apache handlers to IIS file extensions.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;last|L&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Stops rewrite process here and doesn&amp;#8217;t apply any more rules from the current <br/>&nbsp;&nbsp;&nbsp;&nbsp;configuration file. Descendant .htaccess files will still be applied if any.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;yellow&#34;&gt;loop|LP&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Re-runs current single rule in the loop while it&amp;#8217;s pattern and conditions <br/>&nbsp;&nbsp;&nbsp;&nbsp;are matched. Number of iterations is limited to a value of 200 to avoid infinite <br/>&nbsp;&nbsp;&nbsp;&nbsp;loops.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;next|N&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Re-runs rewriting process starting from the beginning of current configuration <br/>&nbsp;&nbsp;&nbsp;&nbsp;file. Number of iterations is limited to a value of 200 to avoid infinite <br/>&nbsp;&nbsp;&nbsp;&nbsp;loops.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;nocase|NC&lt;/span&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;This flag makes the Pattern case-insensitive.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;noescape|NE&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Don&#39;t escape output. By default ISAPI_Rewrite will encode all non-ANSI characters <br/>&nbsp;&nbsp;&nbsp;&nbsp;as %xx hex codes in output.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;nosubreq|NS&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;ISAPI_Rewrite meaning of this flag differs from Apache. Exact translation <br/>&nbsp;&nbsp;&nbsp;&nbsp;isn&#39;t possible, but this flag may still be useful. Every time when configuration <br/>&nbsp;&nbsp;&nbsp;&nbsp;file processing has been finished and URL has been rewritten, ISAPI_Rewrite <br/>&nbsp;&nbsp;&nbsp;&nbsp;will start processing with this new URL again (same as Apache) making it possible <br/>&nbsp;&nbsp;&nbsp;&nbsp;to apply another configuration file. This flag means that the rule should <br/>&nbsp;&nbsp;&nbsp;&nbsp;be exe&lt;font&gt;c&lt;/font&gt;uted only for initial user request and not for rewritten requests, <br/>&nbsp;&nbsp;&nbsp;&nbsp;to prevent possible loops. ISAPI_Rewrite limits number of loops to 10 repetitions.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;yellow&#34;&gt;O (nOrmalize)&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Leaved for compatibility with ISAPI_Rewrite 2.x. If &lt;em&gt;RewriteCompatibility2 <br/>&nbsp;&nbsp;&nbsp;&nbsp;on&lt;/em&gt; is used, this directive normalizes URL before processing. Normalization <br/>&nbsp;&nbsp;&nbsp;&nbsp;includes removing of an URL-encoding, illegal characters, etc. Also normalization <br/>&nbsp;&nbsp;&nbsp;&nbsp;of URL completely removes query string from it. If no &lt;em&gt;RewriteCompatibility2 <br/>&nbsp;&nbsp;&nbsp;&nbsp;on&lt;/em&gt; is used, URLs are normilized by default (as it is done in mod_rewrite) <br/>&nbsp;&nbsp;&nbsp;&nbsp;and meaning of this flag is inverted.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;proxy|P&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Forces the resulting URL to be internally treated as a target on another server <br/>&nbsp;&nbsp;&nbsp;&nbsp;and immediately (i.e. rules processing stops here) passed to the remote server. <br/>&nbsp;&nbsp;&nbsp;&nbsp;Response of the remote server will then be passed back to the client. Proxy <br/>&nbsp;&nbsp;&nbsp;&nbsp;requires you to specify fully qualified URL, starting from protocol, host <br/>&nbsp;&nbsp;&nbsp;&nbsp;name, etc. ISAPI_Rewrite uses ISAPI extension to handle proxy requests. You <br/>&nbsp;&nbsp;&nbsp;&nbsp;can read more about this in configuring proxy chapter.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;red&#34;&gt;passthrough|PT&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Unsupported o&#114; always on. Result is always passed through the next handler <br/>&nbsp;&nbsp;&nbsp;&nbsp;in IIS.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;qsappend|QSA&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Appends current query string data to a substitution string instead of replacing <br/>&nbsp;&nbsp;&nbsp;&nbsp;it by a substitution. Use this when you need to add more query string parameters <br/>&nbsp;&nbsp;&nbsp;&nbsp;while preserving o&#114;iginal parameters.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;redirect|R [=code]&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Forces server to send immediate response to client with redirect instruction, <br/>&nbsp;&nbsp;&nbsp;&nbsp;providing Substitution as a new location. It can optionally prefix Substitution <br/>&nbsp;&nbsp;&nbsp;&nbsp;with <a href="http://thishost" target="_blank" rel="external">http://thishost</a>[:thisport]/ bringing URL to a valid absolute form. If <br/>&nbsp;&nbsp;&nbsp;&nbsp;no code is given, a HTTP response of 302 (MOVED TEMPORARILY) will be used. <br/>&nbsp;&nbsp;&nbsp;&nbsp;You can optionally specify any code from 3xx range.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;skip|S=num&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Forces the rewriting engine to skip the next num rules in sequence, <br/>&nbsp;&nbsp;&nbsp;&nbsp;if the current rule matches.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;green&#34;&gt;type|T=MIME-type&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Forces the MIME-type of the target file to be MIME-type. This can be used to <br/>&nbsp;&nbsp;&nbsp;&nbsp;set up the content-type based on some conditions.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;&lt;strong&gt; &lt;span class=&#34;yellow&#34;&gt;U&lt;/span&gt;&lt;/strong&gt; &lt;span class=&#34;yellow&#34;&gt;(Unmangle <br/>&nbsp;&nbsp;&nbsp;&nbsp;log)&lt;/span&gt;&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Unmangle log. Log the URL as it was o&#114;iginally requested and not as the URL <br/>&nbsp;&nbsp;&nbsp;&nbsp;was rewritten.&lt;br&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbsp; &lt;/li&gt;<br/>&lt;/ul&gt;<br/>&lt;P&gt;<br/>]]></description>
		</item>
		
			<item>
			<link>http://fanxiaojie.com/article.asp?id=40</link>
			<title><![CDATA[ISAPI_Rewrite用户手册07]]></title>
			<author>fanxiaojie@yeah.net(fanxiaojie)</author>
			<category><![CDATA[外文翻译]]></category>
			<pubDate>Thu,16 Apr 2009 10:42:26 +0800</pubDate>
			<guid>http://fanxiaojie.com/index.asp?id=40</guid>
		<description><![CDATA[&lt;h1&gt;AccessFileName directive 获得文件名指令&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Description描述:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Sets name of distributed configuration file分布式配置文件的集名称&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax语法:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;em&gt;AccessFileName filename [filename] ...&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Default默认:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;em&gt;AccessFileName .htaccess&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context上下文:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/>&lt;p&gt;Specifies a list of file names that ISAPI_Rewrite will look for distributed <br/>&nbsp;&nbsp;configurations. Default file name is .htaccess. ISAPI_Rewrite will only load <br/>&nbsp;&nbsp;the first found file in this list. By default ISAPI_Rewrite Manager will mark configuration <br/>&nbsp;&nbsp;files with &lt;em&gt;hidden&lt;/em&gt; attribute - this will prevent the file from being <br/>&nbsp;&nbsp;requested directly by a remote user.在特定文件名列表中ISAPI_Rewrite将寻找分布式配置。默认的文件名是.htaccess。ISAPI_Rewrite将只载入列表中第一个找到的文件。默认情况下ISAPI_Rewrite将把配置文件的属性标记为隐藏——这将保护文件不受远程用户的修改请求。&lt;/p&gt;<br/>&lt;p&gt;When any changes are applied to the configuration file it will be reloaded automatically upon the next request to the server.当配置文件发生任何变化时，它将在下一次请求服务器时自动重载入。&lt;/p&gt;<br/>&lt;h1&gt;AllowOverride directive 允许覆盖指令&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Description描述:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Explicitly sets the base URL for per-directory rewrites.为每个目录重写明确规定基准网址。&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax语法:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;em&gt;AllowOverride All|None|directive-type [directive-type] <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Default默认:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;em&gt;AllowOverride All&lt;/em&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context上下文:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config, virtual host, directory&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/>&lt;p&gt;This directive decalres which directives in distributed .&lt;em&gt;htaccess&lt;/em&gt; <br/>&nbsp;&nbsp;files can override directives from the parent levels (&lt;em&gt;httpd.conf&lt;/em&gt;). <br/>&nbsp;&nbsp;In context of ISAPI_Rewrite this directive in fact enables o&#114; disables .&lt;em&gt;htaccess&lt;/em&gt; <br/>&nbsp;&nbsp;files for specific virtual host (web site) o&#114; directory. Only three values are currently <br/>&nbsp;&nbsp;supported: &lt;strong&gt;All&lt;/strong&gt;, &lt;strong&gt;None&lt;/strong&gt; and &lt;strong&gt;FileInfo.&lt;/strong&gt;本指令声明了在分布式.htAccess文件中的指令是否能覆盖父层中指令(httpd.conf)。在ISAPI_Rewrite背景下这个指令实际上为特定虚拟主机或者目录启用或者禁用了.htaccess文件。只有三个值目前是被支持的：All、None和FileInfo。<br/>&lt;/p&gt;<br/>&lt;p&gt;&lt;strong&gt;All&lt;/strong&gt; and &lt;strong&gt;FileInfo&lt;/strong&gt; enables .htaccess file and <br/>&nbsp;&nbsp;all ISAPI_Rewrite directives in it. &lt;strong&gt;None&lt;/strong&gt; disables all .htaccess <br/>&nbsp;&nbsp;files and directives. This directive is inheritable. This means if you specify <br/>&nbsp;&nbsp;&lt;em&gt;AllowOverride none&lt;/em&gt; for some directory o&#114; virtual host .htaccess files <br/>&nbsp;&nbsp;will also be disabled for all subdirectories.All和FileInfo激活了.htaccess文件和它里面所有的ISAPI_Rewrite指令。None禁用了所有.htaccess文件和指令。这个指令是具有继承性的，这意味着如果你为一些目录或虚拟主机指定AllowOverride none，.htaccess文件也将在所有子目录里被禁用。<br/>&lt;/p&gt;<br/>&lt;h1&gt;RewriteEngine directive重写引擎指令&lt;/h1&gt;<br/>&lt;table&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Description描述:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Enables o&#114; disables runtime rewriting engine启用或者禁用运行时的重写引擎&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Syntax语法:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;RewriteEngine on|off&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Default默认:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;RewriteEngine off&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;Context上下文:&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;server config, virtual host, directory, .htaccess&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/>&lt;p&gt;Enables o&#114; disables rewriting runtime. Use RewriteEngine off instead of commenting <br/>&nbsp;&nbsp;out rewrite rules if you need to disable ISAPI_Rewrite module o&#114; specific .htaccess <br/>&nbsp;&nbsp;file.启用或者禁用重写运行时。当你需要让ISAPI_Rewrite模式失效或者特定的.htaccess失效时，用重写引擎关闭来代替注释掉rewrite规则&lt;/p&gt;<br/>&lt;p&gt;&lt;font color=&#34;#FF0000&#34;&gt;&lt;strong&gt;WARNING!&lt;/strong&gt; Due to the number of support <br/>&nbsp;&nbsp;queries we had to enable rewriting engine by default whilst in Apache rewriting <br/>&nbsp;&nbsp;engine by default is off. Please keep in mind this small incompatibility and <br/>&nbsp;&nbsp;always specify explicit status of rewriting engine in each configuration file, <br/>&nbsp;&nbsp;whether you need it on o&#114; off.&lt;/font&gt;警告：由于支持查询的数量，我们在不得不启用重写引擎的情况下，Apache rewriteing引擎必须被关掉。请记住这个小小的不相容，并在所有的配置文件中始终指定明确的rewrite引擎状态：你需要关闭它还是打开它。&lt;/p&gt;<br/>]]></description>
		</item>
		
</channel>
</rss>
