可以將服務器配置爲允許使用帶和不帶.aspx擴展名的鏈接。具有和不具有.aspx擴展名的鏈接
如果是的話,我該怎麼去設置它。
我正在使用umbraco的客戶端網站上工作。我知道它建立在友好的URL可信度。不幸的是,該網站已經開始生效,併爲整個鏈接開啓了功能。
問題是他們想使用www.sitename.com/promotion等促銷網址,而不必附加.aspx擴展名。我們不想經歷網址重寫網站廣泛的問題,並且必須追蹤所有斷開的鏈接。
可以將服務器配置爲允許使用帶和不帶.aspx擴展名的鏈接。具有和不具有.aspx擴展名的鏈接
如果是的話,我該怎麼去設置它。
我正在使用umbraco的客戶端網站上工作。我知道它建立在友好的URL可信度。不幸的是,該網站已經開始生效,併爲整個鏈接開啓了功能。
問題是他們想使用www.sitename.com/promotion等促銷網址,而不必附加.aspx擴展名。我們不想經歷網址重寫網站廣泛的問題,並且必須追蹤所有斷開的鏈接。
Scott Guthrie在這方面有一個很好的帖子。
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
下半段的絕對控制URI提供鏈接和一些實現這一點的方法一路下滑: http://blogs.msdn.com/bags/archive/2008/08/22/rest-in-wcf-part-ix-controlling-the-uri.aspx
我做這個之前,通過編寫一個簡單的HTTP模塊,有幾件事要注意:
public class UrlRewrite : IHttpModule { public void Init(HttpApplication application) { application.BeginRequest += (new EventHandler(this.Application_BeginRequest)); } private void Application_BeginRequest(Object source, EventArgs e) { // The RawUrl will look like: // http://domain.com/404.aspx;http://domain.com/Posts/SomePost/ if (HttpContext.Current.Request.RawUrl.Contains(";") && HttpContext.Current.Request.RawUrl.Contains("404.aspx")) { // This places the originally entered URL into url[1] string[] url = HttpContext.Current.Request.RawUrl.ToString().Split(';'); // Now parse the URL and redirect to where you want to go, // you can use a XML file to store mappings between short urls and real ourls. string newUrl = parseYourUrl(url[1]); Response.Redirect(newUrl); } // If we get here, then the actual contents of 404.aspx will get loaded. } public void Dispose() { // Needed for implementing the interface IHttpModule. } }
你究竟想要完成什麼? – 2008-09-28 20:18:12