Search Wiki:

Ionics Isapi Rewrite Filter: Home Page

IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. It is reasonably fast, and reasonably powerful. If you use IIS, you can download IIRF and get started right now.

News

IIRF is being actively maintained based on user requirements, and the project is open to contributors. If you would like to contribute requirements - please Use the Issue Tracker!


Frequently Asked Questions (FAQ)


What is URL Rewriting?
That's a big topic, so I'll direct you elsewhere for the answer. Wikipedia has a good entry on the subject.

Why was IIRF created?
Apache has mod_rewrite, which allows URL rewriting. But IIS doesn't have anything similar as a built-in, or as a "standard" free add-on.

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.

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 ini file 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.


What is the license for IIRF?
IIRF is released under the Microsoft Permissive License (Ms PL). Click the License tab on the codeplex site to learn more.

Does IIRF support regular expressions for rewrite rules?
Yes. a Perl-compatible regular expression syntax is supported, with negative lookaheads, conditionals, and so on.

Outstanding! Where does the regular expression support come from?
It comes from the open-source PCRE library.

*Ok, wait, what's a regular expression?"
Again I will defer to Wikipedia on that topic.

Ok, What version of Windows and IIS does IIRF work with?
Windows XP with IIS 5.1, Windows 2000 with IIS5 (but really you should upgrade), and Windows Server 2003 (including R2) with IIS6.

But seriously, Why do we need IIRF? There are already free rewriting filters.
IIRF is free and open source. The existing rewrite filters for IIS each had drawbacks. Either they were not free or open source, they did not support regular expressions, they did not support auto-reloading of the rules files, and so on. With IIRF, We are attempting to have a rewrite filter with none of those drawbacks.

Does using IIRF require that I install .NET?
No.

Why doesn't IIRF use the Regular Expression library in the .NET Framework?
IIRF is built in C, and is designed to be small, native, and fast. IIRF is not build on managed code, hence we cannot rely on the .NET Framework for anything, including regular expressions.

Why wouldn't you use .NET managed code for a rewriting filter?
Because in IIS5 and IIS6, ISAPI filters are written in unmanaged code. There's no programming model for managed code ISAPI filters.

What do I have to install on my server in order to use IIRF?
Of course Windows is a pre-requisite, but it could be Windows XP or Vista, it need not be a server. Also you'll need IIS itself. And then the IIRF ISAPI dll.

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?
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.

Must I install Visual Studio if I want to contribute to IIRF, or build the source code?
No. Currently most of the work is done in a text editor. And there is a makefile that you can use to build it. It builds with the VC++2003 toolkit, or with the (free) VC 2005 Express product. If you want to debug, then you may want the full Visual Studio tool.

Can I use IIRF with PHP urls?
Yes. and CGI, and ASP, and ASP.NET, Joomla, and Mambo, and Ruby, and JSP, and ColdFusion, and a zillion other IIS plugins.
See the RORIIS project for an example of a Ruby-on-Rails framework for IIS that uses IIRF.

Last edited Sep 1 2007 at 3:07 PM  by Cheeso, version 11
Comments
bheinz wrote  Dec 22 2006 at 5:43 AM  
Ionic's Isapi Rewrite Filter works awesome!
* I use his binaries for my codeplex project: [url:Ruby on Rails For IIS|http://www.codeplex.com/RORIIS]

ksawme wrote  Jul 14 2007 at 5:45 AM  
Guys. This is a great tool!!! Seamlessly integrates with IIS. You will sure have fun. URL rewriting is no more a daunting task

mameha wrote  Feb 29 at 8:30 AM  
Please provide following basic info:
- which file to download (src or bin)
- where is the documentation (how to install/use etc).

czeppini wrote  Sat at 3:55 PM  
I don't even found the file to download. where is it? On the "Source Code" session I just found releases and fix files.

Updating...