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工具。
- select你的网站
- 单击IIS部分中的HTTPredirect(确保已安装angular色服务)
- 选中“redirect到这个目的地的请求”
- input你想要redirect的地方。 在你的情况“wwww.mysite.com/menu_1/MainScreen.aspx”
- 在“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客户端之前“