2014-11-08 18 views
5

我正在研究使用301重定向,注意到Google Analytics(分析)中我的域名上的一堆點擊對.asp頁面不再存在,已將所有內容移至.NET建立。301在ASP.NET web.config中重定向,包括參數

花了一些時間谷歌搜索,我已經能夠添加以下代碼到我的web.config。

<location path="products.asp"> 
    <system.webServer> 
    <httpRedirect enabled="true" destination="https://www.hartnollguitars.co.uk/products.aspx" httpResponseStatus="Permanent" /> 
    </system.webServer> 
</location> 

這是罰款和一切行動從products.asppproducts.aspx,但它不保留查詢字符串,這是必須要做出任何意義,即products.aspx?id=789

回答

8

您必須將$Q添加到目標網址才能保留查詢字符串。 所以你的情況應該是這樣的:

<location path="products.asp"> 
    <system.webServer> 
    <httpRedirect enabled="true" destination="https://www.hartnollguitars.co.uk/products.aspx$Q" httpResponseStatus="Permanent" /> 
    </system.webServer> 
</location> 
+1

好可愛,謝謝! :) – 2014-11-08 20:50:16

0

如果您有IIS 7或7以上,有更強大的URL重寫解決方案。使用URL Rewrite Module 2.0,您可以創建包含原始查詢字符串的豐富重定向。在這個guide on IIS.net之後,你可以在屏幕截圖中看到「追加查詢字符串」選項。 IIS URL Rewrite Module UI

您還可以選擇使用服務器變量{QUERY_STRING}。最後,如果您在規則模式中使用了帶有組的正則表達式,則可以使用屏幕截圖中所示的變量{R:#}。

+0

感謝亞當,但我是一個共享服務器上,從而沒有完全訪問權限。 – 2014-11-08 20:48:21