我需要在IIS 7.5中为Web应用程序创建别名。在IIS 7.5中混淆Web应用程序
例如,说我有一个名为 “MyHappyApp” 位于http://server.com/MyHappyApp
我想创造一些别名重定向到该应用程序,如应用程序:
在IIS 7.5中完成此行为的最佳做法是什么?请解释在IIS管理器中可以配置的位置,如果可能的话请解释为web.config
。
我需要在IIS 7.5中为Web应用程序创建别名。在IIS 7.5中混淆Web应用程序
例如,说我有一个名为 “MyHappyApp” 位于http://server.com/MyHappyApp
我想创造一些别名重定向到该应用程序,如应用程序:
在IIS 7.5中完成此行为的最佳做法是什么?请解释在IIS管理器中可以配置的位置,如果可能的话请解释为web.config
。
您需要使用Rewrite模块,
<?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>
您需要安装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
。