繁体   English   中英

IIS从子域重定向到路径

[英]IIS redirect from subdomain to path

假设我有这样的真实子域。

test.example.com,是否可以为iis编写一条规则以将子域重定向到test.example.com/SomeStaticPage.html

该规则应适用于多级子域,即 应将test.aaa.bbb.example.com重定向到test.aaa.bbb.example.com/SomeStaticPage.html

使用URL重写非常容易,实际上,我想知道是否没有完全了解需求。 (每个域需要不同的静态页面吗?还是在没有指定默认页面的情况下,仅保留主机名的同时重定向到相同的“ SomestaticPage.html”?)

这样的简单规则可以解决您的问题:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="RedirectToSomeStatic" stopProcessing="true">
                    <match url="^$" />
                    <action type="Redirect" url="/SomeStaticPage.html" />
                </rule>
            </rules>
        </rewrite>
    <system.webServer>
</configuration>

现在,如果您正在寻找一种更完整的解决方案,该解决方案允许您基于主机名指定页面,则可以使用重写映射,在其中添加应重定向的主机名以及它们应转到的页面。 例如,以下规则将检查他们是否正在请求“ /”,并且主机名在重写映射中,并将使用该页面进行重定向,如果它不在列表中,则它将不执行任何操作:

<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="RedirectToSomeStatic" stopProcessing="true">
                <match url="^$" />
                <action type="Redirect" url="{C:0}" />
                <conditions>
                    <add input="{HostMap:{HTTP_HOST}}" pattern=".+" />
                </conditions>
            </rule>
        </rules>
        <rewriteMaps>
            <rewriteMap name="HostMap">
                <add key="test.example.com" value="/SomeStaticForTestExample.html" />
                <add key="test.a.b.c.example.com" value="/SomePageForTestABC.html" />
            </rewriteMap>
        </rewriteMaps>
    </rewrite>
</system.webServer>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM