我在IIS 7.5版本下部署了一个asp.net应用程序,其下有几个子域。我想将一个特定的子域重定向到另一个URL。
例如:
www.domain1.com/a
www.domain1.com/b
以上网址应该可以正常使用。
www.domain1.com/c
应重定向到www.domain2.com
我怎样才能实现这个目标?
更新我的要求:我为具有相同应用程序池的多个用户(a,b,c)部署了相同的应用程序。我想只重定向用户c。
答案 0 :(得分:5)
打开IIS管理器。打开“运行”对话框( Windows + R ),键入inetmgr
,然后按Enter
。您将需要Adminstrator权限。
在左侧窗格中选择您网站中的子文件夹(非虚拟文件夹)(通过单击文件夹名称),然后在主视图中打开HTTP Redirect
。
选择Redirect requests to this destination
并输入您的目标域名http://www.domain2.com/
。检查其他选项(如果它们适用于您)并单击Apply
进行保存。
检查浏览器中的重定向。
答案 1 :(得分:1)
我通过使用重写模块来实现它。 我更新了web.config,如下所示:
<rewrite>
<rules>
<clear />
<rule name="Redirect For c" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{PATH_INFO}" pattern="^c$" />
<add input="{PATH_INFO}" pattern="^c/$" />
</conditions>
<action type="Redirect" url="http://domain2.com" />
</rule>
</rules>
</rewrite>
答案 2 :(得分:1)
您无法将重定向应用于子文件夹c,因为它们共享web.config文件。当您通过IIS添加此设置时,它会将其添加到共享web.config。
删除文件夹c或重命名。在wwwroot中创建一个新文件夹,即“c_redirect”。 在IIS中,使用别名“c”创建一个新的虚拟目录,并将其指向新的空文件夹。然后,您可以在IIS中向站点添加重定向,它将使用您的设置在c_redirect文件夹中创建新的web.config,而不会影响父站点。