2016-04-27 66 views

回答

3

您可以添加自定義處理器的httpRequestBegin管道,如果你想在你的.NET代碼的一切。

但是,重寫模塊仍然是實現你所需要的最流行的方法之一。

+0

它是一個IIS服務器,並使用sitecore。所以上述解決方案不會爲我工作 –

+0

是的。具有規範重定向規則的IIS URL重寫模塊,在「添加規則」對話框中明確標記爲「規範域名」。 –

1

這種事情你想盡早做。在應用程序級別,它會不必要地使用資源。嘗試IIS或通過DNS重定向更好。

0
if (!Request.Url.Host.StartsWith("www") && !Request.Url.IsLoopback) 
{ 
    var builder = new UriBuilder(Request.Url) { Host = "www." + Request.Url.Host }; 
    Response.StatusCode = 301; 
    Response.AddHeader("Location", builder.ToString()); 
    Response.End(); 
} 
+1

我不會像這樣硬編碼的東西。如果他們引入子域名,將很難保持 –

0

正確的方式做這將是設置targethostnameSite definition config補丁文件 - 但如果你已經有了Sitecore的單站點實例,你可能只是做它在web.config中。

執行此操作的方法是設置hostname =「example.com | www.example.com」,然後設置targethostname =「www.example.com」。