Professional Microsoft IIS 8
by Kenneth Schaefer, Jeff Cochran, Scott Forsyth, Dennis Glendenning, Benjamin Perkins
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, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access