我有一个格式为 URL
abc/pqr/xyz/?word1
这需要重定向到
abc/pqr/xyz/?word2
是否可以使用 IIS7 重写?
可以使用具有以下规则的 IIS7 重写模块:
<rule name="Rewrite querystring" stopProcessing="true">
<match url="^abc/pqr/xyz/?$" />
<conditions>
<add input="{QUERY_STRING}" pattern="^word1$" />
</conditions>
<action type="Redirect" url="{R:0}?word2" appendQueryString="false" />
</rule>
它的作用是:检查 url 是否为abc/pqr/xyz/
orabc/pqr/xyz
和查询字符串是否准确word1
。如果是,它将用户重定向到相同的 url ( {R:0}
),但改为附加?word2
。
拥有该appendQueryString="false"
选项很重要,因为您不希望模块word1
在最后附加您的。
默认情况下,如果未指定,重定向是 301(永久),关于 @Owen 评论,这似乎最适合您的情况!
看这里
您需要指定要匹配的 url,“abc/pqr/xyz”,然后是要匹配和替换的查询字符串。