我需要创建易于记忆的网址,这些网址会重定向到大量应用程序的长且难以记住的路径。
即。 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>
答案 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" />