我想知道是否有解決方案使用IIS6爲應用程序擺脫url中的default.aspx文本。因此,例如,如果用戶點擊:從URL中隱藏default.aspx
www.website.com/default.aspx
瀏覽器只顯示:
www.website.com/
不管是什麼。 這只是爲了SEO。
我已經在我的應用程序中使用UrlRewriting.NET進行了一些重寫,但因爲我並不聰明爲此創建規則。
任何幫助是非常讚賞。
謝謝。 Jose
我想知道是否有解決方案使用IIS6爲應用程序擺脫url中的default.aspx文本。因此,例如,如果用戶點擊:從URL中隱藏default.aspx
www.website.com/default.aspx
瀏覽器只顯示:
www.website.com/
不管是什麼。 這只是爲了SEO。
我已經在我的應用程序中使用UrlRewriting.NET進行了一些重寫,但因爲我並不聰明爲此創建規則。
任何幫助是非常讚賞。
謝謝。 Jose
如果您有什麼要做URL重寫,那麼您需要做的就是確保您的鏈接指向正確的URL。
如果你沒有修復你的鏈接,它可以由瀏覽器決定是否要顯示它請求的實際鏈接。
如果你真的想做一個狡猾的工作,你可以使用一些JavaScript來使瀏覽器的地址欄顯示任何你喜歡的,即使它是無效的。
我會這樣做的方式是在公共類Global:System.Web.HttpApplication中使用Application_BeginRequest,並檢查HttpContext.Current.Request.URL爲default.aspx,然後使用HttpContext.Current.Response.Redirect那裏如果你找到它。
缺點是重定向並不總是如此之好,如果您要將數據發佈到default.aspx頁面,這不會起作用。但是,您不能簡單地誘使瀏覽器顯示不同的url,但您可以告訴ASP.NET爲任何請求提供您想要的任何頁面。
它不工作得很好,它可能會導致無限的重定向。 謝謝! – JRGuay 2009-07-03 14:52:55
如果default.aspx被設置爲在IIS中提供的默認文檔,並且您的所有內部網站鏈接都包含URL的而不是 default.aspx,那麼我認爲應該這樣做。
儘管用戶仍然可以輸入default.aspx,但搜索引擎蜘蛛應該從鏈接href屬性中選取友好的URL。
我認爲ScottGu已經在ASP.NET中覆蓋了重寫主題:http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx。
他涵蓋的東西,如:
隨着你的問題,我認爲你需要使用的組合,從來沒有鏈接到'default.aspx'ie。只鏈接到'/'。然後使用Scott的表單回傳瀏覽器文件來確保回發始終打開相同的友好版本的網址。
重定向'默認。aspx'轉換爲'/',然後通過'default.aspx'獲得服務,聽起來像是一場災難。只需修復你的鏈接,以確保你永遠不會明確地結束'default.aspx'。
嗨布倫丹。 我之前曾與斯科特的文章合作建立SEO規則,但它不適用於隱藏默認頁面名稱。它只是不起作用。 無論如何,謝謝。 – JRGuay 2009-07-03 14:47:15
我認爲改變搜索結果索引(假設它知道HTTP 301)最簡單的方法是在default.aspx的Page_Load中編寫一個小函數,使用301永久移動(或302移動臨時)重定向瀏覽器, 。
void Page_Load(...) {
if(Request.Path.EndsWith("default.aspx", true/*case-insensitive*/, null)) {
Response.StatusCode = 301;
Response.StatusDescription = "Moved Permanently";
Response.Headers.Add("Location", "/");
HttpContext.Current.ApplicationInstance.CompleteRequest(); // end the request
}
// do normal stuff here
}
謝謝傑夫。 我認爲你的解決方案非常好,但我得到了無限重定向的錯誤。 謝謝。 – JRGuay 2009-07-03 14:46:11
忽略我的回答,我沒有看到IIS6.0的要求 – Ayyash 2009-07-02 22:25:02