IIS 8.5中的URL别名使用URL重写模块

时间:2016-08-30 18:29:53

标签: iis alias url-redirection

我需要创建易于记忆的网址,这些网址会重定向到大量应用程序的长且难以记住的路径。

即。     subdomain.domain.edu/shortname 重定向到     https://www.subdomain.domain.edu/mainApplication/subfolder/page

我在IIS 8.5中使用了URL Rewrite模块,但是当我浏览短别名时,我一直得到404。我知道重写模块正在工作,因为我用它来处理重写HTTP到HTTPS并将WWW添加到URL。

我的重写规则如下:

    <rewrite>
        <rules>
            <rule name="Easy to remember shortcut" stopProcessing="true">
                <match url=".*subdomain.domain.edu/shortname" />
                <conditions>
                    <add input="{URL}" pattern=".*/shortname" />
                </conditions>
                <action type="Redirect" url="https://www.subdomain.domain.edu/mainApplication/subfolder/page.aspx" />
            </rule>
        </rules>
    </rewrite>

当然这会返回404.任何想法?

请原谅我,如果在另一篇文章中已有答案,但是,我已经阅读并尝试了URL重写模块上的30多个帖子,还没有找到实际创建别名的解决方案。 / p>

1 个答案:

答案 0 :(得分:1)

网址重写匹配条件将无法查看您的域名,即如果网址为https://www.subdomain.domain.edu/shortname,则匹配部分只能看到短名称(域名/后的任何内容)。

要验证我们需要在条款子句中添加的主机。所以你的规则将如下所示

<rule name="shortnameURL" enabled="true" stopProcessing="true">
    <match url="shortname" />
    <action type="Redirect" url="mainApplication/subfolder/page" />
    <conditions>
        <add input="{HTTP_HOST}" pattern=".*subdomain.domain.edu" />
    </conditions>
</rule>

如果你在这里添加整个网址也应该没问题

<action type="Redirect" url="mainApplication/subfolder/page" />如下

<action type="Redirect" url="https://www.subdomain.domain.edu/mainApplication/subfolder/page" />