IIS7 URL从根目录redirect到子目录

我正在使用Windows Server 2008与IIS7。 我需要将访问www.mysite.com的用户redirect到wwww.mysite.com/menu_1/MainScreen.aspx 。 这里是我为这个项目准备的文件结构:

 -Sites -Default Web Site -Menu_1 -MenuService -VscWebService 

我真的很感激任何帮助。

这里是。 将此代码添加到您的web.config文件中:

 <system.webServer> <rewrite> <rules> <rule name="Root Hit Redirect" stopProcessing="true"> <match url="^$" /> <action type="Redirect" url="/menu_1/MainScreen.aspx" /> </rule> </rules> </rewrite> </system.webServer> 

它将做301永久redirect(URL将在浏览器中更改)。 如果你想让这种“redirect”是不可见的(重写,内部redirect),那么使用这个规则(唯一的区别是“redirect”已被“重写”取代):

 <system.webServer> <rewrite> <rules> <rule name="Root Hit Redirect" stopProcessing="true"> <match url="^$" /> <action type="Rewrite" url="/menu_1/MainScreen.aspx" /> </rule> </rules> </rewrite> </system.webServer> 

我想,这可以做到没有IIS URL重写模块。 <httpRedirect>支持通配符,所以你可以这样configuration它:

  <system.webServer> <httpRedirect enabled="true"> <add wildcard="/" destination="/menu_1/MainScreen.aspx" /> </httpRedirect> </system.webServer> 

请注意,您需要在IIS上启用“HTTPredirect”function – 请参阅HTTPredirect

我不能接受这个答案,主要是因为我不知道在哪里input代码。 我到处寻找一些有意义的URL重写工具的解释,但是找不到任何东西。 我结束了在IIS中使用HTTPredirect工具。

  1. select你的网站
  2. 单击IIS部分中的HTTPredirect(确保已安装angular色服务)
  3. 选中“redirect到这个目的地的请求”
  4. input你想要redirect的地方。 在你的情况“wwww.mysite.com/menu_1/MainScreen.aspx”
  5. 在“redirect行为”中,我发现必须检查“仅将请求redirect到此目录中的内容(而不是子目录),否则将进入循环。请参阅适用于您的内容。

希望这可以帮助。

您需要从Microsoft下载: http : //www.microsoft.com/en-us/download/details.aspx?id=7435 。

该工具被称为“用于IIS 7的Microsoft URL重写模块2.0”,并且由Microsoft描述如下:“URL重写模块2.0提供基于规则的重写机制,用于在被Web服务器处理之前改变所请求的URL并修改响应内容在它被提供给HTTP客户端之前“