除了安裝重寫模塊,還有一種簡單的方法可以將非www重定向到Sitecore中的www?如何將非www重定向到sitecore的www?
任何URL開始與非www爲EG:http://example.com應該被重定向到http://www.example.com
除了安裝重寫模塊,還有一種簡單的方法可以將非www重定向到Sitecore中的www?如何將非www重定向到sitecore的www?
任何URL開始與非www爲EG:http://example.com應該被重定向到http://www.example.com
您可以添加自定義處理器的httpRequestBegin
管道,如果你想在你的.NET代碼的一切。
但是,重寫模塊仍然是實現你所需要的最流行的方法之一。
這種事情你想盡早做。在應用程序級別,它會不必要地使用資源。嘗試IIS或通過DNS重定向更好。
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();
}
我不會像這樣硬編碼的東西。如果他們引入子域名,將很難保持 –
正確的方式做這將是設置targethostname在Site definition config補丁文件 - 但如果你已經有了Sitecore的單站點實例,你可能只是做它在web.config中。
執行此操作的方法是設置hostname =「example.com | www.example.com」,然後設置targethostname =「www.example.com」。
它是一個IIS服務器,並使用sitecore。所以上述解決方案不會爲我工作 –
是的。具有規範重定向規則的IIS URL重寫模塊,在「添加規則」對話框中明確標記爲「規範域名」。 –