Iis 7 IIS7 url重写问题(当有“?”时)&引用;
我有一个URL的格式Iis 7 IIS7 url重写问题(当有“?”时)&引用;,iis-7,url-rewriting,Iis 7,Url Rewriting,我有一个URL的格式 abc/pqr/xyz/?word1 这需要重定向到 abc/pqr/xyz/?word2 可以使用IIS7重写吗?请参阅 您需要指定要匹配的url“abc/pqr/xyz”,然后指定要匹配和替换的查询字符串。可以使用具有以下规则的IIS7重写模块: <rule name="Rewrite querystring" stopProcessing="true"> <match url="^abc/pqr/xyz/?$" /> <
abc/pqr/xyz/?word1
这需要重定向到
abc/pqr/xyz/?word2
可以使用IIS7重写吗?请参阅
您需要指定要匹配的url“abc/pqr/xyz”,然后指定要匹配和替换的查询字符串。可以使用具有以下规则的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/
或abc/pqr/xyz
,以及查询字符串是否为word1
。如果是,它会将用户重定向到相同的url({R:0}
),但会附加?word2
使用appendQueryString=“false”
选项很重要,因为您不希望模块在末尾附加您的word1
默认情况下,如果没有指定,重定向是301(永久),关于@Owen comment,它似乎最适合您的情况 您想重写查询字符串吗???@cheesemacfly是的,我们网站上的一类信息已经更改,因此需要为所有已将旧链接添加书签的用户重定向整个查询字符串。显然,我们已经在修复网站中的任何链接,重定向只是为了使旧链接不会中断:)似乎根本不起作用。这是我在web.config中的代码。IIS使用精确的正则表达式模式匹配。我不是100%同意,但您的匹配url可能需要删除尾随“/”才能成功匹配。