0

我需要在 IIS 7.5 中为 Web 应用程序创建别名。

例如,假设我有一个名为“MyHappyApp”的应用程序位于http://server.com/MyHappyApp

我想创建一些重定向到该应用程序的别名,例如:

在 IIS 7.5 中完成此行为的最佳做法是什么?请说明可以在 IIS 管理器中配置的位置以及web.config可能的情况。

4

2 回答 2

0

您需要使用重写模块,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="MyHappyApp2_To_HappyAppPart3" stopProcessing="true">
                    <match url="MyHappyApp2" ignoreCase="true" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{URL}" pattern="^/$" ignoreCase="true" />
                    </conditions>
                    <action type="Rewrite" url="/HappyAppPart3" />
                </rule>
            </rules>
        </rewrite>
        <security>
            <requestFiltering allowDoubleEscaping="true" />
        </security>
    </system.webServer>
</configuration>
于 2012-11-21T02:06:34.293 回答
0

您需要安装 URL 重写模块。您可以通过 IIS 管理器配置规则或手动添加到 web.config。

虽然可以在一个规则中完成所有操作,但创建两个单独的规则可能更容易,一个用于您要重定向的每个别名。

这应该有效:

<rewrite>
    <rules>
        <clear />
        <rule name="Redirect MyHappyApp2 to MyHappyApp" stopProcessing="true">
            <match url="^MyHappyApp2(/.*)?$" />
            <action type="Redirect" url="http://server.com/MyHappyApp{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>
        <rule name="Redirect HappyAppPart3 to MyHappyApp" stopProcessing="true">
            <match url="^HappyAppPart3(/.*)?$" />
            <action type="Redirect" url="http://server.com/MyHappyApp{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

上述规则也支持人们去http://server.com/HappyAppPart3/somepage?id=1(只是一个例子)。他们将被重定向到http://server.com/MyHappyApp/somepage?id=1.

于 2012-11-21T06:14:24.723 回答