Server.TransferRequest( IIS6) Server.Transfer, , - .
- Response.StatusCode = 404; FileNotFound.aspx web.config :
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1"/>
<error statusCode="404" prefixLanguageFilePath="" path="/FileNotFound.aspx" responseMode="ExecuteURL"/>
</httpErrors>
</system.webServer>
, , 404 , , 404, , URL-, ..
if (Request.Url.ToString().Contains("?404;"))
{
Response.StatusCode = 404;
Util.DisplayMessage("The page you are looking for no longer exists. If you navigated to this page by clicking a link within this site please <a href='" + ResolveUrl("~/contact.aspx") + "'>contact us</a> to let us know.");
}
, .. , FileNotFound.aspx (.. / ) "~/" ) ( URL- ) . , , , FileNotFound.aspx , Context.RewritePath i.e.
Page.Header.Controls.AddAt(0, new LiteralControl("<base href='" + Request.Url.Scheme + "://" + Request.Url.Authority + VirtualPathUtility.ToAbsolute("~/") + "'/>"));
Context.RewritePath("~/");