2014-01-22 172 views
0

我正在運行一個遺留網站,其中有301個重定向。爲了讓我的生活變得更簡單,我將他們從IIS中的手動301重定向轉換爲使用url重寫模塊和一個可從數據庫中生成的重寫映射。URL重寫IIS 7 Querystring問題

不幸的是,我現在遇到了一個障礙,因爲他們的一些url帶有querystrings(來自Google的adwords),而且這些總是404(因爲它們與我的重寫映射中的url不匹配)。

有沒有辦法解決這個問題,還是我必須回去手動做301s?

爲了記錄在案:我們使用IIS7

代碼示例:

url: http://mydomain.com/widgets/?gclid=[google code] 

重寫規則:

<rule name="Rewrite rule1 for News301Redirects" stopProcessing="false"> 
    <match url=".*" /> 
    <conditions> 
     <add input="{News301Redirects:{REQUEST_URI}}" pattern="(.+)" /> 
    </conditions> 
    <action type="Redirect" redirectType="Permanent" url="{C:1}" appendQueryString="false" /> 
</rule> 

地圖線路:

<add key="/widgets/" value="/widgets.asp" /> 

回答

1

好了,答案被證明是令人沮喪的簡單 - 只需找到一隻絕對的豬。

而不是使用REQUEST_URI(它獲取整個請求的URL,包括查詢字符串)我已經轉向使用URL(它只是得到沒有查詢字符串的URL),似乎已完全解決了我的問題。