Internet Information Services
Microsoft Web 服务器软件。
22 个问题
我使用示例使用重写映射取得了良好的成功:
<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?
你好,
根据您的描述,我的理解是您想通过重写映射将“s2.foo.com”重定向到“s1.foo.com”并将“s3.foo.com”重定向到“s2.foo.com/somespecialpage”, 如果我的理解有误,请指出我的错误。
在重写映射中,键和值中不可能同时包含 {HTTP_HOST}。 如果要实现多个重定向,建议单独创建空白规则。 尽管这会重复,但这是最不容易出错的方法。
如果答案是正确的解决方案,请单击“接受答案”并请投赞成票。如果您对此答案有其他疑问,请点击“评论”。
注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。
最好的问候