IIS URL Rewrite rule tester

Paste the rewrite section of a web.config and a list of URLs to try. For each URL you get the trace IIS would follow: which rules matched, which conditions passed, what each action did, and where the request ended up, including redirect loops and rules that nothing reaches. It runs in your browser; nothing is sent anywhere.

What it covers

Supported
Inbound rules with match url (ECMAScript, wildcard and exact-match syntax), negate and ignoreCase; conditions with MatchAll and MatchAny, trackAllCaptures and negate; {R:n} and {C:n} back-references; server variables such as {HTTP_HOST}, {HTTPS}, {REQUEST_URI} and {QUERY_STRING}; ToLower, UrlEncode and UrlDecode; rewrite maps; Rewrite, Redirect, CustomResponse, AbortRequest and None; stopProcessing; appendQueryString; disabled rules.
Not simulated
Outbound rules, custom rewrite providers, setting server variables, and conditions that look at the file system (IsFile, IsDirectory), which are reported and treated as not matching. The tester has no files to look at, so a rule that excludes existing files will fire here for a path that would be a real file on the server.
Regular expressions
.NET and JavaScript regular expressions agree on everything rule sets normally use. Atomic groups and possessive quantifiers are rewritten as plain groups; a pattern that cannot be read is reported on its rule.

Reading a trace

Rules run in order. Each one sees the path as the previous rules left it: a Rewrite changes the path for the rules that follow, a Redirect or a custom response ends the trace, and stopProcessing ends it after a match. The server variables are what IIS would have for the URL you typed: HTTP_HOST from the host, HTTPS from the scheme, REQUEST_URI and QUERY_STRING from the path.

The commonest surprises are a Force-www rule placed after a Force-https rule (two redirects where one would do), a trailing-slash rule that also catches files, and a rewrite whose target matches an earlier rule. All three show up in the trace.

Moving to ASP.NET Core? Its rewriting middleware reads this same XML; our web.config converter extracts the section for it.

A web.config full of rules nobody dares touch?

Send us the rules and the URLs that matter. We will tell you what they do and which ones can go.

Tell us about your system 0800 433 7990 Monday to Friday, 9am to 5pm. A first 20-minute call is free, and we reply to every enquiry within one working day. What happens after you get in touch