让IIS7重写但仍传递查询字符串参数?

时间:2010-06-18 17:44:19

标签: iis-7

我正在尝试在IIS7中设置重写规则以隐藏页面扩展名(.aspx),但也会在字段中传递querystring参数并将其传递给页面。

例如,如果原始网址为:

www.mysite.com/page.aspx?pid=a

怎样才能让它重写为

www.mysite.com/page

但仍然将查询字符串值传递给页面?

2 个答案:

答案 0 :(得分:4)

如果您将其放入web.config,那么您正在寻找appendQueryString

<rule name="MyRule" stopProcessing="true">
   <match url="{your regex}" ignoreCase="false" />
   <action type="Rewrite" url="{your rewrite}" appendQueryString="true" />
</rule>

如果您在IIS管理器中执行此操作,请选中“附加查询字符串”框。

答案 1 :(得分:0)

您可能需要查看此内容:http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/#Rules_Evaluation

但是根据这篇文章,在Rewrite Action中有一个'appendQueryString'参数,用于确定查询字符串是否附加到新URL。默认情况下应该打开(再次根据那篇文章),所以你不必做任何事情。