IIS 7.5仅重定向一个子目录

时间:2013-01-08 05:12:00

标签: iis-7 http-redirect

我在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。

3 个答案:

答案 0 :(得分:5)

  1. 打开IIS管理器。打开“运行”对话框( Windows + R ),键入inetmgr,然后按Enter。您将需要Adminstrator权限。

  2. 在左侧窗格中选择您网站中的子文件夹(非虚拟文件夹)(通过单击文件夹名称),然后在主视图中打开HTTP RedirectSub-folder selection and HTTP Redirect icon

  3. 选择Redirect requests to this destination并输入您的目标域名http://www.domain2.com/。检查其他选项(如果它们适用于您)并单击Apply进行保存。 Setup redirection for sub-folder

  4. 检查浏览器中的重定向。

答案 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,而不会影响父站点。