2011-10-16 40 views
0

我想知道如何在ASP.net C#中創建從www到非www的301重定向。我想把這個代碼放在兩頁上。我想要一個防止循環的代碼,我已經閱讀了幾個代碼。代碼應該放在每個頁面的Page_Load部分。301非WWW重定向到wwww asp.net C3

回答

1

我不確定「www to non-www」的含義是什麼或者重定向有什麼影響......無論如何,沒有內置的函數可以讓301重定向,但它非常微不足道做手動。

Response.StatusCode = 301; 
Response.AppendHeader("Location", "your url to redirect to"); 
Response.End(); 
+1

我想添加(爲了澄清他人)ASP.NET中的Response.Redirect()只執行302重定向,而對於301你必須手動執行 - 除非你正在使用。 NET 4.0在這種情況下有Response.RedirectPermanent()。 – Dai

+0

@大衛啊很好,我不知道他們補充說。 –

0

我建議你嘗試IIS7和7.5的URI重寫擴展 - 它有一個選項可以啓用所有請求都被重定向到www的「規範域」。等價物。

這裏:http://www.iis.net/download/URLRewrite

它的工作原理,無論什麼生成您的網頁(所以它也適用於靜態內容太)。

+0

我做了這樣的: 字符串URL = Request.Url.AbsoluteUri; (url.Contains(「www」)) { //重定向 Response.RedirectPermanent(url.Replace(「http:// www。」,「http://」)); } –