我正在使用带有IIS7的Windows Server 2008。我需要将前往www.mysite.com
的用户重定向到wwww.mysite.com/menu_1/MainScreen.aspx
。这是我对项目的文件结构:
-Sites
-Default Web Site
-Menu_1
-MenuService
-VscWebService
我真的很感激你的帮助。
答案 0 :(得分:111)
在这里。将此代码添加到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永久重定向(URL将在浏览器中更改)。如果你想让这种“重定向”不可见(重写,内部重定向),那么使用这个规则(唯一的区别是“重定向”已被“重写”替换):
<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>
答案 1 :(得分:38)
我认为,这可以在没有IIS URL重写模块的情况下完成。 <httpRedirect>
支持通配符,因此您可以这样配置:
<system.webServer>
<httpRedirect enabled="true">
<add wildcard="/" destination="/menu_1/MainScreen.aspx" />
</httpRedirect>
</system.webServer>
请注意,您需要在IIS上启用“HTTP重定向”功能 - 请参阅HTTP Redirects
答案 2 :(得分:14)
我无法使用已接受的答案,主要是因为我不知道在哪里输入该代码。我到处寻找一些有意义的URL重写工具的解释,却找不到任何解释。我最终在IIS中使用了HTTP重定向工具。
希望这会有所帮助。
答案 3 :(得分:4)
您需要从Microsoft下载此代码:http://www.microsoft.com/en-us/download/details.aspx?id=7435。
该工具被称为“用于IIS 7的Microsoft URL重写模块2.0”,并由Microsoft描述如下: “URL Rewrite Module 2.0提供了一种基于规则的重写机制,用于在Web服务器处理之前更改请求的URL,并在将响应内容提供给HTTP客户端之前对其进行修改”