有“?”时IIS7 url重写问题

时间:2013-03-13 18:02:59

标签: iis-7 url-rewriting

我有一个格式为

的网址
abc/pqr/xyz/?word1

,这需要重定向到

abc/pqr/xyz/?word2

是否可以使用IIS7重写?

2 个答案:

答案 0 :(得分:3)

使用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>

它的作用是:检查网址是abc/pqr/xyz/还是abc/pqr/xyz,查询字符串是word1。如果是,则会将用户重定向到相同的网址({R:0}),但会改为添加?word2

选择appendQueryString="false"选项非常重要,因为您不希望模块在最后添加word1

默认情况下,如果没有指定,重定向是301(永久),关于@Owen评论,似乎最适合您的情况!

答案 1 :(得分:0)

请参阅here

您需要指定要匹配的网址,“abc / pqr / xyz”,然后指定要匹配和替换的查询字符串。