我正在尝试配置重定向以准备从ASP到MVC网站的切换。 IIS通配符重定向工作正常,但我无法弄清楚如何保留查询参数。
示例:
<system.webServer>
<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Permanent">
<add wildcard="/EmailAddress-Verify.aspx" destination="https://foo.com/account/email-verify$Q" />
</httpRedirect>
</system.webServer>
我读到$Q
will preserve the query params,但它不起作用。谷歌在这个问题上找不到任何东西..这里有什么我想念的吗?
谢谢!
答案 0 :(得分:1)
所以这个配置工作得很好!我只需要清除浏览器缓存,因为重定向是Permanent
,浏览器在我使用配置文件时“记住”我以前的配置。我的坏!
答案 1 :(得分:0)
Y̶o̶u̶̶h̶a̶v̶e̶̶e̶x̶a̶c̶t̶D̶e̶s̶t̶i̶n̶t̶i̶o̶n̶=̶“̶t̶r̶u̶e̶”̶.̶但是,更重要的是,当您希望通过重定向进行更精细的控制时,使用URL Rewrite module会更好。您的位将类似于以下内容(未经过测试和快速编写):
<rewrite>
<rules>
<rule name="Email Address Verify Redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_URI}" pattern="^EmailAddress-Verify.aspx(.*)$" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://foo.com/account/email-verify{R:1}" />
</rule>
...
</rewrites>
哦,现在我考虑一下,你可能只是做一个没有下面的通配符的直接模式,只是在动作中追加了QueryString =“True”。