URL rewriting or mapping is an important feature of a web application, by which you can give search engine friendly URLs in your application and provide extra security to your application.
following is very simple approach, how to do that-
1) You need to add following section in your Web.config
<add url="~/fakename.aspx" mappedUrl="~/actualpageurl.aspx" />
<add url="~/Registration.aspx" mappedUrl="~/signup.aspx" />
2) Add ASp.Net folder "App_Browsers" in your application
3) Add a new item in that folder as "Form.browser"
4) Create a class file as follows
public class FormRewriterControlAdapter : System.Web.UI.Adapters.ControlAdapter
protected override void Render(System.Web.UI.HtmlTextWriter writer)
public class RewriteFormHtmlTextWriter : HtmlTextWriter
public RewriteFormHtmlTextWriter(HtmlTextWriter writer)
this.InnerWriter = writer.InnerWriter;
public RewriteFormHtmlTextWriter(System.IO.TextWriter writer)
base.InnerWriter = writer;
public override void WriteAttribute(string name, string value, bool fEncode)
// If the attribute we are writing is the "action" attribute, and we are not on a sub-control,
// then replace the value to write with the raw URL of the request - which ensures that we'll
// preserve the PathInfo value on postback scenarios
if ((name == "action"))
HttpContext Context = default(HttpContext);
Context = HttpContext.Current;
if (Context.Items["ActionAlreadyWritten"] == null)
// Because we are using the UrlRewriting.net HttpModule, we will use the
// Request.RawUrl property within ASP.NET to retrieve the origional URL
// before it was re-written. You'll want to change the line of code below
// if you use a different URL rewriting implementation.
value = Context.Request.RawUrl;
// Indicate that we've already rewritten the <form>'s action attribute to prevent
// us from rewriting a sub-control under the <form> control
Context.Items["ActionAlreadyWritten"] = true;
base.WriteAttribute(name, value, fEncode);
5) Thats all and you are ready to rewrite your incoming URLs without any complex code for HTTP-module
and any actionless form.
IMPORTANT: If you go for Actionless form then it has a side effect that disables page validators.
if this was helpful then please donate as much you want