Request.RawUrl returns the original URL (before being remapped).
Request.Path returns the current URL (after being remapped).
Request.AppRelativeCurrentExecutionFilePath returns the application relative URL (after being remapped).
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
void Page_Load()
{
if (String.Compare(Request.Path, Request.RawUrl, true) != 0)
lblMessage.Text = "The URL to this page has changed, " +
"please update your bookmarks.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Default Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
id="lblMessage"
CssClass="message"
Runat="server" />
The original request was for:
<blockquote>
<%=Request.RawUrl%>
</blockquote>
which got remapped to:
<blockquote>
<%= Request.Path %>
</blockquote>
and the application relative version is:
<blockquote>
<%= Request.AppRelativeCurrentExecutionFilePath %>
</blockquote>
</div>
</form>
</body>
</html>