2011-08-17 110 views
2

在IIS7中,如果网站级别的默认重定向是相对路径,那么如何使默认重定向位于https而不是http。IIS默认重定向

当前如果主机是:abc.com并且登录页面是abc.com/myapp/login.aspx,我将默认重定向(IIS管理器 - > HTTPRedirect)设置为/myapp/login.aspx。因此,如果用户在他的浏览器地址栏中输入abc.com,他将被重定向到http://abc.com/myapp/login.aspx。我想确保用户被重定向到http * s *://abc.com/myapp/login.aspx。

它需要在根级别的web.config?

请注意,这不能在asp.net代码来完成,因为asp.net代码没有在这个请求的处理

编辑涉及: 一个做到这一点是有一个“默认方式“web应用程序,即部署在根(web站点)级别的web应用程序,然后使用asp.net提供的标准重定向模块。任何关于利弊的看法,弊端?

回答

3

最后我们想出了3种不同的选择:

  1. 使用的index.htm在“网站”级别,并将该会的 window.location.href设置为HTTPS URL的脚本。
  2. 使用IIS URL重写module
  3. 使用自定义asp.net模块来重定向到https URL。该模块的dll将在GAC中注册,并在“网站”级配置该模块。在GAC登记是必要的,因为该模块将被调用为“网站”的子应用

选项3的基础上选择:

  1. 易于部署。在所有前端服务器上安装重写模块比在GAC中安装DLL要复杂
  2. 支持不会解析javascript的非浏览器用户代理。这消除了选项1.