URL Rewriting in ASP.NET using global.asax and web.config
URL rewriting is very important for search engines like google, yahoo, etc. as we know website getting most of the traffic from search engines.
Here I am explaining 2 way to rewrite URL in asp.net.
URL rewrining using web.config and URL rewriting using global.asax
URL rewrining using web.config:
URL rewriting in web.config is only use for small number of pages. Here you have to rewrite every page manually in web.config. I am writing sample code for 4 urls.
xml version="1.0"?>
<configuration>
<urlMappings enabled="true">
<add url="~/About-company.aspx"
mappedUrl="~/index.aspx?id=1" />
<add url="~/About-products.aspx"
mappedUrl="~/index.aspx?id=2" />
<add url="~/Contact-us.aspx"
mappedUrl="~/index.aspx?id=3" />
<add url="~/our-team.aspx"
mappedUrl="~/index.aspx?id=4" />
urlMappings>
. . .
configuration>
URL rewriting using global.aspx:
This very simple way and very use full. In this way we can rewrite N number of pages and there is no need extra server configuration. Only you have to use Application_BeginRequest event. Inside this event use Context.RewritePath method to set which URL will execute internally in code behind. Here is the code:
string NewsID = CurrentPath.Substring(CurrentPath.IndexOf("/"));
HttpContext MyContext = HttpContext.Current;
MyContext.RewritePath("/news-show.aspx?News=" + NewsID);
}
}
Here I am explaining 2 way to rewrite URL in asp.net.
URL rewrining using web.config and URL rewriting using global.asax
URL rewrining using web.config:
URL rewriting in web.config is only use for small number of pages. Here you have to rewrite every page manually in web.config. I am writing sample code for 4 urls.
xml version="1.0"?>
<configuration>
<urlMappings enabled="true">
<add url="~/About-company.aspx"
mappedUrl="~/index.aspx?id=1" />
<add url="~/About-products.aspx"
mappedUrl="~/index.aspx?id=2" />
<add url="~/Contact-us.aspx"
mappedUrl="~/index.aspx?id=3" />
<add url="~/our-team.aspx"
mappedUrl="~/index.aspx?id=4" />
urlMappings>
. . .
configuration>
URL rewriting using global.aspx:
This very simple way and very use full. In this way we can rewrite N number of pages and there is no need extra server configuration. Only you have to use Application_BeginRequest event. Inside this event use Context.RewritePath method to set which URL will execute internally in code behind. Here is the code:
void Application_BeginRequest(object sender, EventArgs e)
{
// Get the current path
string CurrentURL_Path = Request.Path.ToLower();
if (CurrentURL_Path.StartsWith("/news/"))
{
CurrentURL_Path = CurrentURL_Path.Trim("/");{
// Get the current path
string CurrentURL_Path = Request.Path.ToLower();
if (CurrentURL_Path.StartsWith("/news/"))
{
string NewsID = CurrentPath.Substring(CurrentPath.IndexOf("/"));
HttpContext MyContext = HttpContext.Current;
MyContext.RewritePath("/news-show.aspx?News=" + NewsID);
}
}
In next article i will write about URL rewriting using HttpModule.
Comments
Thanks
I have a query given bellow:
When i request www.abc.com/abc & press enter, this request should be open abc.aspx file. If i request www.abc.com/xyz then xyz.aspx file should be open.
Can any buddy please let me know how to achieve the same.
Thanks in advance.
Asp.net Development | C# Development
We can also submit our .net related article links on www.dotnettechy.com
It also has directory for .net websites, blogs only.
Its very useful for promoting our .net related websites/blogs
When a member(suppose neetu) login on a page s/he will be redirected on index.aspx page with the url
www.mysite.com/member/neetu
neetu(id) is coming from database and member is a folder i created
so i m trying this with url rewriting and routing too.....but nothing works...can u plz give me exacting idea how can i do this.please tell me I am using asp.net 2.0
when we open Default.aspx page.
Means can we hide after Appointment. If yes, then plz give some example.
SAS Training in Chennai
SAS Course in Chennai
SAS Training Institutes in Chennai
SAS Institute in Chennai
Clinical SAS Training in Chennai
SAS Analytics Training in Chennai
SAS Training in Velachery
SAS Training in Tambaram
SAS Training in Adyar
thanks for giving that type of information.
digital marketing company in delhi
HP DesignJet T520 In india