<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>IIRF Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/Wiki/View.aspx?ProjectName=IIRF&amp;title=Home</link><description>IIRF Wiki Rss Description</description><item><title>New Comment on "Documentation"</title><link>https://iirf.codeplex.com/documentation?&amp;ANCHOR#C27179</link><description>no documentation&amp;#63;  what gives&amp;#63;</description><author>soitgoes</author><pubDate>Thu, 11 Apr 2013 21:32:52 GMT</pubDate><guid isPermaLink="false">New Comment on "Documentation" 20130411093252P</guid></item><item><title>New Comment on "Documentation"</title><link>http://iirf.codeplex.com/documentation?&amp;ANCHOR#C25772</link><description>Where are the docs&amp;#33;&amp;#63; The links are not found.</description><author>gmoss</author><pubDate>Fri, 30 Nov 2012 21:59:32 GMT</pubDate><guid isPermaLink="false">New Comment on "Documentation" 20121130095932P</guid></item><item><title>New Comment on "Blacklist1"</title><link>http://iirf.codeplex.com/wikipage?title=Blacklist1&amp;ANCHOR#C25239</link><description>I  also tried this&amp;#10;&amp;#10;RewriteCond &amp;#37;&amp;#123;REMOTE_ADDR&amp;#125; &amp;#94;24&amp;#92;.132&amp;#92;.226&amp;#92;.94&amp;#36;&amp;#10;RewriteRule &amp;#94;&amp;#47;&amp;#40;.&amp;#42;&amp;#41;&amp;#36; &amp;#47;&amp;#36;1 &amp;#91;F&amp;#93;&amp;#10;&amp;#10;This is based on the documentation &amp;#10;http&amp;#58;&amp;#47;&amp;#47;dotnetzip.herobo.com&amp;#47;Iirf21Help&amp;#47;html&amp;#47;563a06a2-bd46-45e8-9d5a-1184eade19df.htm</description><author>jcdisciple</author><pubDate>Wed, 10 Oct 2012 17:03:14 GMT</pubDate><guid isPermaLink="false">New Comment on "Blacklist1" 20121010050314P</guid></item><item><title>New Comment on "Blacklist1"</title><link>http://iirf.codeplex.com/wikipage?title=Blacklist1&amp;ANCHOR#C25238</link><description>Does this still apply to the current version of IIRF&amp;#63;&amp;#63;&amp;#10;&amp;#10;I am trying to block a domain&amp;#10;&amp;#10;RewriteCond &amp;#37;&amp;#123;REMOTE_ADDR&amp;#125; 173.193.130.48&amp;#10;RewriteRule &amp;#94;&amp;#47;&amp;#40;.&amp;#42;&amp;#41;&amp;#36; &amp;#47;&amp;#36;1 &amp;#91;F&amp;#93;&amp;#10;&amp;#10;Its not working</description><author>jcdisciple</author><pubDate>Wed, 10 Oct 2012 17:00:23 GMT</pubDate><guid isPermaLink="false">New Comment on "Blacklist1" 20121010050023P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://iirf.codeplex.com/documentation?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Documentation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnetzip.herobo.com/Iirf21Help/frames.htm"&gt;IIRF v2.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnetzip.herobo.com/Iirf20Help/frames.htm"&gt;IIRF v2.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Sun, 16 Sep 2012 04:55:55 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20120916045555A</guid></item><item><title>New Comment on "Examples"</title><link>http://iirf.codeplex.com/wikipage?title=Examples&amp;ANCHOR#C20692</link><description>How can we rewrite a URL like based on a directory&amp;#63; If internal directory is present, it is not rewritten, else it is rewritten to external directory&amp;#10;http&amp;#58;&amp;#47;&amp;#47;www.abcd.com&amp;#47;internal&amp;#47;Test.aspx &amp;#61;&amp;#62; http&amp;#58;&amp;#47;&amp;#47;www.abcd.com&amp;#47;internal&amp;#47;Test.aspx &amp;#40;NO REWRITING&amp;#41;&amp;#10;http&amp;#58;&amp;#47;&amp;#47;www.abcd.com&amp;#47;Test.aspx &amp;#61;&amp;#62; http&amp;#58;&amp;#47;&amp;#47;www.abcd.com&amp;#47;external&amp;#47;Test.aspx &amp;#40;REWRITTEN&amp;#41;</description><author>pranaysharmadelhi</author><pubDate>Tue, 16 Aug 2011 16:29:58 GMT</pubDate><guid isPermaLink="false">New Comment on "Examples" 20110816042958P</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=64</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 6.0, and later.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;IIRF is DonationWare&lt;/h2&gt;IIRF is so terrific, and so well supported, I know you will want to donate.  IIRF is still free, no-charge, and open-source, but I know you will want to donate, I&amp;#39;m &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  &lt;br /&gt;
&lt;h2&gt;Includes an installer&lt;/h2&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=IIRF&amp;DownloadId=104787" alt="MSI-Installer-1.png" title="MSI-Installer-1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf21Help" class="externalLink"&gt;Online helpfile for IIRF v2.1&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help" class="externalLink"&gt;Online helpfile for IIRF v1.2 (older)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s a big topic, so I&amp;#39;ll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn&amp;#39;t have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won&amp;#39;t work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don&amp;#39;t offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  It installs as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can IIRF act as a transparent proxy (like Apache&amp;#39;s mod_proxy)?&lt;/b&gt;&lt;br /&gt;Yes. ProxyPass, ProxyPassReverse, and ProxyPreserveHost are supported. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for the pattern matching?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what&amp;#39;s a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for specifying text patterns.  It can be challenging to use Regular Expressions if you&amp;#39;re not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF use .htaccess syntax?  Can I just move over my .htaccess files?&lt;/b&gt;&lt;br /&gt;Yes. &lt;b&gt;mostly&lt;/b&gt;.  Check the IIRF documentation for notable exceptions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 or later with IIS7, and Windows Server 2008 with IIS7, and on Windows 7.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don&amp;#39;t have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it&amp;#39;s your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn&amp;#39;t IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn&amp;#39;t&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There&amp;#39;s no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don&amp;#39;t want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you&amp;#39;ll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There&amp;#39;s a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF ships with a Visual Studio .sln file, and you CAN use Visual Studio to build it.  You can also use the nmake.exe tool to build IIRF, from the command line.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C++ compiler, version 8, 9, or 10.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;How big is the source distribution for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF source distribution includes only a small set of source code files.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Is IIRF available for Windows x64?&lt;/b&gt;&lt;br /&gt;Yes, there&amp;#39;s a build for x64, available since June 2010.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Mon, 18 Apr 2011 06:08:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110418060835A</guid></item><item><title>Updated Wiki: Joomla</title><link>http://iirf.codeplex.com/wikipage?title=Joomla&amp;version=3</link><description>&lt;div class="wikidoc"&gt;In my experience there are two scenarios with Joomla, each needing slightly different configurations &lt;br /&gt;&lt;br /&gt;The first configuration I mentioned is for using SEF function which is built in Joomla 1.0. (And sh404SEF is NOT installed)&lt;br /&gt;Configuration : site &amp;gt;&amp;gt; Global Configuration &amp;gt;&amp;gt; SEO&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
#=========================================================================
#This is final version of IIRF ini for standard SEF in Joomla!

#Make the following 0 in to turn debugging and logging completely off
RewriteLogLevel 2

#Write the absolute path of your output log file here 
RewriteLog G:\IIRFLog\IIRfLogfile

MaxMatchCount 10

RewriteCond %{HTTP_URL} (/|\.htm|\.php|\.html|/[^.]*)$  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/$ /index.php

RewriteRule ^/content/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/ /index.php?option=com_content&amp;amp;task=$1&amp;amp;id=$2&amp;amp;Itemid=$3&amp;amp;limit=$4&amp;amp;limitstart=$5
RewriteRule ^/content/([^/]+)/([^/]+)/([^/]+)/ /index.php?option=com_content&amp;amp;task=$1&amp;amp;id=$2&amp;amp;Itemid=$3
RewriteRule ^/component/option,([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+) /index.php?option=$1&amp;amp;$2=$3&amp;amp;$4=$5&amp;amp;$6=$7
RewriteRule ^/component/option,([^/]+)/([^/]+),([^/]+)/ /index.php?option=$1&amp;amp;$2=$3

#===========================================================================================
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The second configuration is applicable where sh404SEF is installed (and set to use .htaccess in advanced settings).&lt;br /&gt;Configuration: Components &amp;gt;&amp;gt; click for advance mode &amp;gt;&amp;gt; sh404SEF Configuration &amp;gt;&amp;gt; Main Tab &amp;gt;&amp;gt; Enabled:Yes &amp;gt;&amp;gt;&lt;br /&gt;Advanced tab &amp;gt;&amp;gt; Rewriting mode:With .htaccess (mod_rewrite)&lt;br /&gt;(Please note that when using sh404SEF the default SEF component must be enabled)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
#===========================================================================================
# This is the config for standard Joomla with sh404SEF

RewriteLogLevel 2
RewriteLog C:\IIRFLog\IIRfLog

MaxMatchCount 10

RewriteCond %{HTTP_URL} (/|\.htm|\.php|\.html|/[^.]*)$  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php [U,L]
#===========================================================================================
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;When using IIS and IIRF, the .htaccess file is NOT used.  That file works only with the Apache http server, and does not work with IIS or IIRF.   When using IIS and IIRF, the IIRF.ini takes the role of .htacess (for the purposes of rewrite rules).&lt;br /&gt;So if you use Ionics Rewrite Filter on IIS with Joomla, JUST DELETE THE .htaccess FILE.&lt;br /&gt;&lt;br /&gt;Please visit my site to see it in action - http://www.indianexpats.org&lt;br /&gt;If someone need help please PM me, I am still not an expert but for setting this up on IIS I can offer some help.&lt;br /&gt;Regards &lt;br /&gt;Ryogi.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Tue, 14 Dec 2010 15:32:36 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Joomla 20101214033236P</guid></item><item><title>New Comment on "Character Matching"</title><link>http://iirf.codeplex.com/wikipage?title=Character Matching&amp;ANCHOR#C16693</link><description>what if my url contains &amp;#47;..&amp;#47; in it. then wht to do&amp;#63;&amp;#10;how can i represent these &amp;#47;..&amp;#47; in urlrewrie rule</description><author>ishakir77</author><pubDate>Mon, 16 Aug 2010 07:25:30 GMT</pubDate><guid isPermaLink="false">New Comment on "Character Matching" 20100816072530A</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=63</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 6.0, and later.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;IIRF is DonationWare&lt;/h2&gt;IIRF is so terrific, and so well supported, I know you will want to donate.  IIRF is still free, no-charge, and open-source, but I know you will want to donate, I&amp;#39;m &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  &lt;br /&gt;
&lt;h2&gt;Includes an installer&lt;/h2&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=IIRF&amp;DownloadId=104787" alt="MSI-Installer-1.png" title="MSI-Installer-1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf21Help" class="externalLink"&gt;Online helpfile for IIRF v2.1&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help" class="externalLink"&gt;Online helpfile for IIRF v1.2 (older)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s a big topic, so I&amp;#39;ll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn&amp;#39;t have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won&amp;#39;t work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don&amp;#39;t offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  You install it as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can IIRF act as a transparent proxy (like Apache&amp;#39;s mod_proxy)?&lt;/b&gt;&lt;br /&gt;Yes. This is a newer feature - see v2.0.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for the pattern matching?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what&amp;#39;s a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for specifying text patterns.  It can be challenging to use Regular Expressions if you&amp;#39;re not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF use .htaccess syntax?  Can I just move over my .htaccess files?&lt;/b&gt;&lt;br /&gt;Yes. &lt;b&gt;mostly&lt;/b&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 or later with IIS7, and Windows Server 2008 with IIS7.   I haven&amp;#39;t tested it with Windows 7.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don&amp;#39;t have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it&amp;#39;s your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn&amp;#39;t IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn&amp;#39;t&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There&amp;#39;s no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don&amp;#39;t want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you&amp;#39;ll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There&amp;#39;s a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF ships with a Visual Studio .sln file, and you CAN use Visual Studio to build it.  You can also use the nmake.exe tool to build IIRF, from the command line.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C&lt;u&gt;&lt;/u&gt; compiler, version 8 or 9.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;How big is the source distribution for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF source distribution includes only a small set of source code files.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Is there a build of IIRF for Windows x64?&lt;/b&gt;&lt;br /&gt;Yes, there&amp;#39;s a beta build for that platform, available since June 2010.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Tue, 15 Jun 2010 17:36:21 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100615053621P</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=62</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 5.0, 5.1, 6.0, and 7.0.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;IIRF is DonationWare&lt;/h2&gt;IIRF is so terrific, and so well supported, I know you will want to donate.  IIRF is still free, no-charge, and open-source, but I know you will want to donate, I&amp;#39;m &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  &lt;br /&gt;
&lt;h2&gt;Includes an installer&lt;/h2&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=IIRF&amp;DownloadId=104787" alt="MSI-Installer-1.png" title="MSI-Installer-1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/IirfHelp" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help" class="externalLink"&gt;Online helpfile for IIRF v1.2 (older)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s a big topic, so I&amp;#39;ll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn&amp;#39;t have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won&amp;#39;t work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don&amp;#39;t offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  You install it as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can IIRF act as a transparent proxy (like Apache&amp;#39;s mod_proxy)?&lt;/b&gt;&lt;br /&gt;Yes. This is a newer feature - see v2.0.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for the pattern matching?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what&amp;#39;s a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for specifying text patterns.  It can be challenging to use Regular Expressions if you&amp;#39;re not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF use .htaccess syntax?  Can I just move over my .htaccess files?&lt;/b&gt;&lt;br /&gt;Yes. &lt;b&gt;mostly&lt;/b&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 or later with IIS7, and Windows Server 2008 with IIS7.   I haven&amp;#39;t tested it with Windows 7.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don&amp;#39;t have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it&amp;#39;s your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn&amp;#39;t IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn&amp;#39;t&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There&amp;#39;s no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don&amp;#39;t want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you&amp;#39;ll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There&amp;#39;s a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF ships with a Visual Studio .sln file, and you CAN use Visual Studio to build it.  You can also use the nmake.exe tool to build IIRF, from the command line.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C&lt;u&gt;&lt;/u&gt; compiler, version 8 or 9.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;How big is the source distribution for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF source distribution includes only a small set of source code files.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Is there a build of IIRF for Windows x64?&lt;/b&gt;&lt;br /&gt;Yes, there&amp;#39;s a beta build for that platform, available since June 2010.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Tue, 15 Jun 2010 17:35:24 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100615053524P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://iirf.codeplex.com/documentation?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Documentation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf21Help/frames.htm" class="externalLink"&gt;IIRF v2.1&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help/frames.htm" class="externalLink"&gt;IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help/frames.htm" class="externalLink"&gt;IIRF v1.2&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Sat, 29 May 2010 16:06:00 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100529040600P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://iirf.codeplex.com/documentation?version=3</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Documentation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help/frames.htm" class="externalLink"&gt;IIRF v2.x&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help/frames.htm" class="externalLink"&gt;IIRF v1.2&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Wed, 31 Mar 2010 16:56:44 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100331045644P</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=61</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic&amp;#39;s Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 5.0, 5.1, 6.0, and 7.0.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;IIRF is DonationWare&lt;/h2&gt;IIRF is so terrific, and so well supported, I know you will want to donate.  IIRF is still free, no-charge, and open-source, but I know you will want to donate, I&amp;#39;m &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  &lt;br /&gt;
&lt;h2&gt;Includes an installer&lt;/h2&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=IIRF&amp;DownloadId=104787" alt="MSI-Installer-1.png" title="MSI-Installer-1.png" /&gt;&lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/IirfHelp" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help" class="externalLink"&gt;Online helpfile for IIRF v1.2 (older)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s a big topic, so I&amp;#39;ll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn&amp;#39;t have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won&amp;#39;t work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don&amp;#39;t offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  You install it as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can IIRF act as a transparent proxy (like Apache&amp;#39;s mod_proxy)?&lt;/b&gt;&lt;br /&gt;Yes. This is a newer feature - see v2.0.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for the pattern matching?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what&amp;#39;s a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for matching text patterns.  It can be challenging to use Regular Expressions if you&amp;#39;re not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF use .htaccess syntax?  Can I just move over my .htaccess files?&lt;/b&gt;&lt;br /&gt;Yes. &lt;b&gt;mostly&lt;/b&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows XP with IIS 5.1, Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 with IIS7, and Windows Server 2008 with IIS7.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don&amp;#39;t have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it&amp;#39;s your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn&amp;#39;t IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn&amp;#39;t&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There&amp;#39;s no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don&amp;#39;t want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you&amp;#39;ll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There&amp;#39;s a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF is a small set of code files and it ships with a makefile for building.  There&amp;#39;s no Visual Studio solution, so in fact, you can&amp;#39;t use Visual Studio to build IIRF.  IIRF builds from the command line with a makefile.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C&lt;u&gt;&lt;/u&gt; compiler, version 8 or 9.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, but you will not build IIRF from within Visual Studio.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Fri, 05 Feb 2010 16:42:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100205044223P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://iirf.codeplex.com/documentation?version=2</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Documentation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help/frames.htm" class="externalLink"&gt;IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help/frames.htm" class="externalLink"&gt;IIRF v1.2&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Tue, 05 Jan 2010 09:08:43 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100105090843A</guid></item><item><title>New Comment on "Documentation"</title><link>http://iirf.codeplex.com/documentation?&amp;ANCHOR#C14420</link><description>updated url to the 1.2 docs&amp;#58; http&amp;#58;&amp;#47;&amp;#47;cheeso.members.winisp.net&amp;#47;Iirf12Help&amp;#47;frames.htm</description><author>corischlegel</author><pubDate>Mon, 14 Dec 2009 20:10:27 GMT</pubDate><guid isPermaLink="false">New Comment on "Documentation" 20091214081027P</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=60</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic's Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic's Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 5.0, 5.1, 6.0, and 7.0.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;IIRF is DonationWare&lt;/h2&gt;IIRF is so terrific, and so well supported, I know you will want to donate.  IIRF is still free, no-charge, and open-source, but I know you will want to donate, I'm &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  &lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/IirfHelp" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf12Help" class="externalLink"&gt;Online helpfile for IIRF v1.2 (older)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That's a big topic, so I'll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn't have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won't work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don't offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  You install it as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can IIRF act as a transparent proxy (like Apache's mod_proxy)?&lt;/b&gt;&lt;br /&gt;Yes. This is a newer feature - see v2.0.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for the pattern matching?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what's a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for matching text patterns.  It can be challenging to use Regular Expressions if you're not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF use .htaccess syntax?  Can I just move over my .htaccess files?&lt;/b&gt;&lt;br /&gt;Yes. &lt;b&gt;mostly&lt;/b&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows XP with IIS 5.1, Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 with IIS7, and Windows Server 2008 with IIS7.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don't have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it's your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn't IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn't&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There's no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don't want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you'll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There's a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF is a small set of code files and it ships with a makefile for building.  There's no Visual Studio solution, so in fact, you can't use Visual Studio to build IIRF.  IIRF builds from the command line with a makefile.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C&lt;u&gt;&lt;/u&gt; compiler, version 8 or 9.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, but you will not build IIRF from within Visual Studio.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Thu, 03 Dec 2009 22:13:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091203101354P</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=59</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic's Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic's Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 5.0, 5.1, 6.0, and 7.0.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;IIRF is DonationWare&lt;/h2&gt;IIRF is so terrific, and so well supported, I know you will want to donate.  IIRF is still free, no-charge, and open-source, but I know you will want to donate, I'm &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  &lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/IirfHelp" class="externalLink"&gt;Online helpfile for IIRF v1.2&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That's a big topic, so I'll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn't have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won't work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don't offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  You install it as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can IIRF act as a transparent proxy (like Apache's mod_proxy)?&lt;/b&gt;&lt;br /&gt;Yes. This is a newer feature - see v2.0.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for the pattern matching?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what's a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for matching text patterns.  It can be challenging to use Regular Expressions if you're not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF use .htaccess syntax?  Can I just move over my .htaccess files?&lt;/b&gt;&lt;br /&gt;Yes. &lt;b&gt;mostly&lt;/b&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows XP with IIS 5.1, Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 with IIS7, and Windows Server 2008 with IIS7.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don't have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it's your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn't IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn't&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There's no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don't want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you'll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There's a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF is a small set of code files and it ships with a makefile for building.  There's no Visual Studio solution, so in fact, you can't use Visual Studio to build IIRF.  IIRF builds from the command line with a makefile.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C&lt;u&gt;&lt;/u&gt; compiler, version 8 or 9.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, but you will not build IIRF from within Visual Studio.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Sat, 14 Nov 2009 09:03:36 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091114090336A</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=58</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic's Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic's Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 5.0, 5.1, 6.0, and 7.0.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;Did you know?  IIRF is DonationWare&lt;/h2&gt;If you find IIRF useful, consider donating.  IIRF is still free, no-charge, and open-source, but I am now &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  The concept is called &amp;quot;DonationWare&amp;quot;.&lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/IirfHelp" class="externalLink"&gt;Online helpfile for IIRF v1.2&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That's a big topic, so I'll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn't have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won't work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don't offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  You install it as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can IIRF act as a transparent proxy (like Apache's mod_proxy)?&lt;/b&gt;&lt;br /&gt;Yes. This is a newer feature - see v2.0.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for the pattern matching?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what's a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for matching text patterns.  It can be challenging to use Regular Expressions if you're not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF use .htaccess syntax?  Can I just move over my .htaccess files?&lt;/b&gt;&lt;br /&gt;Yes. &lt;b&gt;mostly&lt;/b&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows XP with IIS 5.1, Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 with IIS7, and Windows Server 2008 with IIS7.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don't have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it's your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn't IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn't&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There's no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don't want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you'll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There's a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF is a small set of code files and it ships with a makefile for building.  There's no Visual Studio solution, so in fact, you can't use Visual Studio to build IIRF.  IIRF builds from the command line with a makefile.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C&lt;u&gt;&lt;/u&gt; compiler, version 8 or 9.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, but you will not build IIRF from within Visual Studio.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Sat, 07 Nov 2009 11:05:24 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091107110524A</guid></item><item><title>Updated Wiki: Home</title><link>http://iirf.codeplex.com/wikipage?version=57</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Ionic's Isapi Rewrite Filter&lt;/h1&gt;&lt;b&gt;Ionic's Isapi Rewrite Filter&lt;/b&gt;, aka IIRF, is a small, FREE, easy to use, URL rewriting ISAPI filter.  It combines a good price (free!) with good features. It is fast and powerful.  It works on IIS 5.0, 5.1, 6.0, and 7.0.   If you use IIS, you can download IIRF and &lt;a href="http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx" class="externalLink"&gt;get started right now&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;h2&gt;Did you know?  IIRF is DonationWare&lt;/h2&gt;If you find IIRF useful, consider donating.  IIRF is still free, no-charge, and open-source, but I am now &lt;a href="http://cheeso.members.winisp.net/IirfDonate.aspx" class="externalLink"&gt;accepting donations&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on behalf of my favorite charity.  The concept is called &amp;quot;DonationWare&amp;quot;.&lt;br /&gt;
&lt;h2&gt;Community&lt;/h2&gt;IIRF is being actively maintained based on Community input, and the project is open to contributors.  If you would like to contribute requirements - please use the Issue Tracker.  If you have questions, use the Discussion forums.  &lt;br /&gt;
&lt;h2&gt;Links&lt;/h2&gt;&lt;a href="http://cheeso.members.winisp.net/IirfHelp" class="externalLink"&gt;Online helpfile for IIRF v1.2&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cheeso.members.winisp.net/Iirf20Help" class="externalLink"&gt;Online helpfile for IIRF v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://iirf.codeplex.com/wikipage?title=Examples&amp;referringTitle=Home"&gt;Example INI Files&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Frequently Asked Questions (FAQ)&lt;/h2&gt;
&lt;b&gt;What is URL Rewriting?&lt;/b&gt;&lt;br /&gt;That's a big topic, so I'll direct you elsewhere for the answer.  &lt;a href="http://en.wikipedia.org/wiki/Rewrite_engine" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has a good entry on the subject. &lt;br /&gt;This is a &lt;a href="http://www.addedbytes.com/apache/url-rewriting-for-beginners/" class="externalLink"&gt;really good overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, geared toward Apache mod_rewrite, but the concepts apply to all rewriters.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is URL Rewriting good for?&lt;/b&gt;&lt;br /&gt;Lots of things.  Some people use IIRF to allow his community site to expose Search-Engine-Friendly URLs.  One person used IIRF to get SharePoint Search to work properly with HTTPS URLs.  There are lots of uses.  If you use IIS, you can use IIRF to map between the URL the browser enters, and the URL the server &amp;quot;sees&amp;quot;.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why was IIRF created?&lt;/b&gt;&lt;br /&gt;Apache has mod_rewrite, which allows URL rewriting. But IIS, prior to v7, doesn't have anything similar as a built-in, or as a &amp;quot;standard&amp;quot; free add-on. &lt;br /&gt;&lt;br /&gt;ASP.NET has a URL mapping mechanism, but it works only for filetypes that are handled by ASP.NET: aspx, ascx, asmx, and so on. For static files or non-ASP.NET files, (xml, gif, jpg, css), the ASP.NET mapping won't work cleanly. &lt;br /&gt;&lt;br /&gt;IIS, like the Apache HTTP server, has an extension mechanism: it is called the ISAPI filter. There are commercial ISAPI filters that endow IIS with the ability to re-write URLs. But you have to pay. There are free ones, but they generally don't offer regular expression matching, or automatic configuration reloading, or other powerful features. IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What does IIRF Look like?  How do I use it?&lt;/b&gt;&lt;br /&gt;IIRF is a single DLL.  You install it as an ISAPI Filter on your web server.  You configure it with a text-based INI file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the license for IIRF?&lt;/b&gt;&lt;br /&gt;IIRF is released under the Microsoft Permissive License (Ms PL).  Click the License tab on the codeplex site to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF support regular expressions for rewrite rules?&lt;/b&gt;&lt;br /&gt;Yes. a Perl-compatible regular expression syntax is supported, with negative and positive look-aheads, look-behinds, conditionals, and so on. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Outstanding! Where does the regular expression support come from?&lt;/b&gt;&lt;br /&gt;It comes from the open-source &lt;a href="http://www.pcre.org" class="externalLink"&gt;PCRE&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; library. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, wait, what's a regular expression?&lt;/b&gt;&lt;br /&gt;Again I will defer to &lt;a href="http://en.wikipedia.org/wiki/Regular_expression" class="externalLink"&gt;Wikipedia&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on that topic.  Regular Expressions define a language for matching text patterns.  It can be challenging to use Regular Expressions if you're not a geek.  Be careful, do your homework.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, What versions of Windows and IIS does IIRF work with?&lt;/b&gt;&lt;br /&gt;Windows XP with IIS 5.1, Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 with IIS7, and Windows Server 2008 with IIS7.   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;But seriously, Why do we need IIRF?  There are already free rewriting filters.&lt;/b&gt;&lt;br /&gt;There various other rewrite filters for IIS.  Each of them has advantages and disadvantages.  IIRF is another option.  Some of the advantages of IIRF:  IIRF is free and open source.  IIRF supports regular expressions, for power in rewriting.  IIRF does auto-reloading of the rules files.  The other options in rewriting filters don't have this combination of capabilities.  At the same time, IIRF has limitations.  For one thing, it lacks a commercial support mechanism.  So... it's your choice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does using IIRF require that I install the .NET Framework on the server in order to use it?&lt;/b&gt; &lt;br /&gt;No.  I think the .NET Framework is cool, but IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Does IIRF require .NET on my workstation in order to build it?&lt;/b&gt;&lt;br /&gt;No.  IIRF does not depend on the .NET Framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why doesn't IIRF use the Regular Expression library in the .NET Framework?&lt;/b&gt;&lt;br /&gt;IIRF is built in C, and is designed to be small, native, and fast.  IIRF is not built in managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why &lt;i&gt;wouldn't&lt;/i&gt; you use .NET managed code for a rewriting filter?&lt;/b&gt;&lt;br /&gt;Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code.  There's no programming model for managed code ISAPI filters.  This is different in IIS7, but still, some people don't want to install or run .NET applications on their web servers.  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;What do I have to install on my server in order to &lt;/b&gt;use* IIRF?*&lt;br /&gt;Of course Windows is a pre-requisite: Windows Server 2003 or 2008, Windows XP or Vista. Also you'll need IIS itself.  And then the IIRF ISAPI dll. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where can I find the documentation for IIRF?&lt;/b&gt;&lt;br /&gt;There's a CHM file that provides all the doc.  It describes the features and how to use them.  You can also &lt;a href="http://cheeso.members.winisp.net/Iirfhelp" class="externalLink"&gt;view the helpfile online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I cannot view the CHM documentation.  The error is: &amp;quot;This program cannot display the webpage.&amp;quot;  or, &amp;quot;The address is invalid.&amp;quot;   or, &amp;quot;Navigation to the webpage was canceled&amp;quot;  Is there an error with the chm file?&lt;/b&gt;&lt;br /&gt;No, there is no problem with the CHM file.  You have likely encountered a problem with Windows protection of files downloaded from less trusted locations. To view the chm file, within Windows Explorer, right-click on the CHM file, select properties, and Unblock it (button in lower part of properties window).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to download the source and compile my own version of IIRF, must I install and use Visual Studio on my developer workstation?&lt;/b&gt; &lt;br /&gt;No.  IIRF is a small set of code files and it ships with a makefile for building.  There's no Visual Studio solution, so in fact, you can't use Visual Studio to build IIRF.  IIRF builds from the command line with a makefile.  To run the make, you need the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;amp;displaylang=en" class="externalLink"&gt;Windows SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and the Microsoft C/C&lt;u&gt;&lt;/u&gt; compiler, version 8 or 9.  You can get that compiler from an installation of &lt;a href="http://msdn.microsoft.com/vstudio" class="externalLink"&gt;Visual Studio&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, including the (free, no charge)  &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, but you will not build IIRF from within Visual Studio.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must I install Visual Studio if I want to contribute to IIRF, or build the source code?&lt;/b&gt;&lt;br /&gt;No.  There is a makefile that you can use to build IIRF.  It builds with the compiler included in the (free, no-charge) &lt;a href="http://www.microsoft.com/express/download/" class="externalLink"&gt;Visual Studio C++ Express edition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.   If you want to debug the resulting filter, then you may want the full Visual Studio tool.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF with PHP urls?&lt;/b&gt; &lt;br /&gt;Yes.  and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and  a zillion other IIS plugins.&lt;br /&gt;See the &lt;a href="http://www.codeplex.com/RORIIS" class="externalLink"&gt;RORIIS&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Can I use IIRF to prevent people from directly linking to the image files on my site?&lt;/b&gt;&lt;br /&gt;Yes, and you can prevent SQL injection hacks, and you can do lots of other things. Check the readme or the chm doc for more information. &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Cheeso</author><pubDate>Sat, 07 Nov 2009 11:02:51 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091107110251A</guid></item></channel></rss>