我正在尝试在IIS7中设置重写规则以隐藏页面扩展名(.aspx),但也会在字段中传递querystring参数并将其传递给页面。
例如,如果原始网址为:
www.mysite.com/page.aspx?pid=a
怎样才能让它重写为
www.mysite.com/page
但仍然将查询字符串值传递给页面?
答案 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。默认情况下应该打开(再次根据那篇文章),所以你不必做任何事情。