【发布时间】:2017-05-06 15:55:15
【问题描述】:
我的 IIS 站点上有多个绑定,我想捕获所有对
的请求以下任何一项 - domainA.co.uk、www.domainA.co.uk、domainA.com、www.domainA.com
并重定向到站点上其他绑定之一上的页面
www.domainB.com/my-folder/
这可以通过 URL 重写实现吗?
【问题讨论】:
标签: iis url-rewriting url-rewrite-module
我的 IIS 站点上有多个绑定,我想捕获所有对
的请求以下任何一项 - domainA.co.uk、www.domainA.co.uk、domainA.com、www.domainA.com
并重定向到站点上其他绑定之一上的页面
www.domainB.com/my-folder/
这可以通过 URL 重写实现吗?
【问题讨论】:
标签: iis url-rewriting url-rewrite-module
url重写是可能的,你需要使用这个规则:
<rule name="all domains to www.domainB.com/my-folder" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^domainA.co.uk$" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="^www.domainA.co.uk$" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="^domainA.com$" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="^www.domainA.com$" ignoreCase="true" />
</conditions>
<action type="Redirect" url="http://www.domainB.com/my-folder/{R:1}" />
</rule>
它将重定向网址:
domainA.co.uk 到 www.domainB.com/my-folder/
www.domainA.co.uk 到 www.domainB.com/my-folder/
domainA.com 到 www.domainB.com/my-folder/
www.domainA.com 到 www.domainB.com/my-folder/
www.domainA.com/something 到 www.domainB.com/my-folder/something (如果你不想这样,只需删除 {R:1} 表单规则)【讨论】:
<system.webServer>标签下的<rewrite> <rules>标签。
您可以使用重写来重定向域
<rewrite>
<rules>
<rule name="Force non-WWW and SSL" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" negate="true" pattern="^www.(.*)$" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://www.{C:1}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
【讨论】: