我有一段JavaScript代码,当用户访问没有查询字符串的mypage时,我会使用特定的查询字符串重定向到同一页面。
我认为最好使用IIS URL重写规则来执行此操作,如下所示:
<rules>
<rule name="mypage" stopProcessing="true">
<match url="/mypage/*$" />
<action type="Redirect" url="/mypage/?category=shopping" appendQueryString="true" />
</rule>
</rules>
它根本不起作用。
我使用IIS工具测试了正则表达式并且很好,IIS也选择了重写规则,因此不存在问题。我将appendQueryString设置为true和false,以防万一。但它在任何一种情况下都无效。
另外,我尝试过两次&#34;重写&#34;和&#34;重定向&#34;动作类型,以防万一。没有工作。
你可以帮忙吗?感谢。答案 0 :(得分:1)
您需要删除匹配网址中的第一个斜杠。您还需要检查已存在的查询字符串,否则它将进入无限重定向循环。如果你重写了
,你将不会遇到这个问题 <rule name="mypage" stopProcessing="true">
<match url="^mypage/*$" />
<action type="Redirect" url="/mypage/?category=shopping" appendQueryString="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="category=shopping" negate="true" />
</conditions>
</rule>