URL重写IIS 7查询字符串问题

URL重写IIS 7查询字符串问题,iis,redirect,rewrite,Iis,Redirect,Rewrite,我正在运行一个遗留网站,上面有一吨301重定向。为了让我的生活更简单,我将他们从在IIS中手动执行301重定向改为使用url重写模块和重写映射,我可以从数据库生成该映射 不幸的是,我现在遇到了一个障碍,他们的一些URL带有查询字符串(来自Google的adwords),而这些总是404(因为它们与我的重写图中的URL不匹配) 有办法解决这个问题吗,还是我必须回到手动操作301s 记录在案:我们正在使用IIS7 代码示例: url: http://mydomain.com/widgets/?gcl

我正在运行一个遗留网站,上面有一吨301重定向。为了让我的生活更简单,我将他们从在IIS中手动执行301重定向改为使用url重写模块和重写映射,我可以从数据库生成该映射

不幸的是,我现在遇到了一个障碍,他们的一些URL带有查询字符串(来自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" />

好吧,答案被证明是令人沮丧的简单——简直就是一头要找的猪

我不再使用REQUEST_URI(它获取整个请求的URL,包括querystring),而是改用URL(它只获取没有querystring的URL),这似乎彻底解决了我的问题