O'Reilly logo

Professional Microsoft IIS 8 by Benjamin Perkins, Dennis Glendenning, Scott Forsyth, Jeff Cochran, Kenneth Schaefer

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Input Variables

When URL Rewrite processes an incoming request, a lot of information is available in the form of input variables, made up of request headers and server variables. They include information such as the domain name, URL, and client's IP address. This information is used for the rule conditions to determine which requests your rule applies to, and it can also be used in the rule action paths.

Some examples of the more common input variables include:

  • {HTTP_HOST}
  • {SERVER_ADDR}
  • {REMOTE_ADDR}
  • {URL}
  • {QUERY_STRING}
  • {HTTPS}
  • {REQUEST_URI}

A useful trick is to create a simple page that generates all the server variables with their values. Simply create a page within your website called servervariables.aspx (or whatever you want to call it) and place the following in it:

<%
For Each serverVar As String in Request.ServerVariables
  Response.Write(serverVar & " " & Request(serverVar) & "<br />")
Next
%>

If you prefer C#, you can use the following instead:

<% @ Page Language="C#" %>
<%
foreach (string serverVar in Request.ServerVariables)
{
  Response.Write(serverVar + " " + Request[serverVar] + "<br>");
}
%>

Now when you call the page in your web browser, it will display a list of most of the server variables and their values. One important distinction between this script and URL Rewrite is that URL Rewrite runs before the default document, whereas this script runs after it. Therefore, if you call a default document implicitly, these variables may not match. Some other variables, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required