让IIS7重写但仍传递querystring参数?

mit*_*tch 5 iis-7

我试图在IIS7中设置重写规则,以隐藏页面扩展名(.aspx),还可以将字段和查询字符串参数传递给页面。

例如,如果原始URL为:

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

我怎样才能将其重写为

www.mysite.com/page

但仍然将querystring值传递给页面?

Eri*_*lje 5

如果将其放入web.config中,则在寻找 appendQueryString

<rule name="MyRule" stopProcessing="true">
   <match url="{your regex}" ignoreCase="false" />
   <action type="Rewrite" url="{your rewrite}" appendQueryString="true" />
</rule>
Run Code Online (Sandbox Code Playgroud)

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


Cod*_*lla 0

您可能想查看一下:http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/#Rules_Evaluation

但根据这篇文章,在重写操作中有一个“appendQueryString”参数,它确定查询字符串是否附加到新的 URL 中。默认情况下应启用此功能(再次根据该文章),因此您不必执行任何操作。