IIRF

Ionic's ISAPI Rewrite Filter

Interested in a FREE URL Rewriter for IIS? Do you wish IIS had a mod_rewrite? Check out IIRF.

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. You can get the source code to inspect it or modify it yourself if you desire. If you use IIS, you can download IIRF and get started right now. Or, Visit the IIRF Forums to ask a question.

Why Rewrite URLs?

Server-side rewriting of URLs means a URL like http://foo/bar/bam can be translated, on the server, into http://foo/baz/bam.jsp or http://foo/something/dispatch.cgi?q=bam or http://bam/hello/foo.aspx or... anything! The browser is none the wiser.

Rewriting URLs on the server-side goes way back. It has a bunch of advantages:

It's really convenient with Cold Fusion, PHP, Ruby, Joomla, ASP.NET, JSP or any number of other server-side technologies these days.

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.

Click here to send a comment on IIRF.

Summary of features of IIRF

All of the features are described in a single readme file, which is included in the download. There are also lots of examples to help you get started.

NB: As of v1.2.4, IIRF can do redirects. You can set up a rule that says that http://yourserver/something/baz should be redirected to http://Otherserver/something/baz. These are browser-side redirects (HTTP 302). The address in the browser will be updated, and the browser will then automatically contact the new site to fetch data. IIRF does not do server-side request proxying and reverse-proxying, like Apache mod_proxy.

NB: As of v1.2.5, IIRF is built with VC8, the compiler that comes with Visual Studio 2005, or Visual C++ 2005 Express. This is probably important only to those people who want to build the source.

Release history
v1.0 2005 January
v1.0.1 2005 July
v1.1 2005 September
v1.2 2006 February
v1.2.2 2006 April (bugfix+testing)
v1.2.3 2006 May (more bugfixes+testing)
v1.2.4 2006 May (added redirection)
v1.2.6 2006 June (converted to safe CRT routines)
v1.2.9 2006 July (Modifier flags like U, R, L, I, F, NF)
v1.2.10 2006 Sept (special patterns: -d, -f, -s; chaining RewriteCond)
v1.2.11 2007 Feb (new filter priority, new flow logic)

Download
source and binary for all available releases The latest and greatest version is 1.2.11b


Got a Question?
Click Here to Visit the IIRF forums on CodePlex.com

back to IonicShade

This page has been accessed 46434 times since 24 April 2006