我使用示例使用重写映射取得了良好的成功:
<rewriteMaps>
<rewriteMap name="StaticRedirects">
<add key="/old-article.aspx?id=1" value="/article.aspx?id=1" />
<add key="/posts/default.aspx?id=1" value="/article.aspx?id=1" />
<add key="/old-title.html" value="/article.aspx?id=1" />
</rewriteMap>
</rewriteMaps>
<rules>
<rule name="Redirect Rule" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{StaticRedirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="http://localhost{C:1}" appendQueryString="False" redirectType="Permanent" />
</rule>
</rules>
我的问题是 - 我希望键和值都是单独的 URL。 我有 IIS 监听 *
,一个接受 *.foo.com
的通配符证书 - 我需要根据这些类型的规则进行重定向。
<add key="s2.foo.com" value="s1.foo.com" />
<add key="s3.foo.com" value="s1.foo.com/somespecialpage" />
我见过一些有限的示例,其中部分的键是 URL,而其他示例的值是 URL - 但我无法找到两者都是URL的示例。
虽然我意识到我可以构建一系列标准规则,但我觉得映射会更优雅。
谢谢。
Note:该问题整理于:IIS Rewrite map - can both key and value be URLs?