mvc3网站web.config中的visual studio无法识别ssl和rewrite标记

时间:2011-08-04 14:57:39

标签: asp.net asp.net-mvc iis url-rewrite-module

我使用asp.net mvc3编写了一个简单的Web应用程序,我有一个控制访问该站点的登录页面。每个未经过身份验证的请求都将重定向到此页面。
我想使用ssl使网站安全(使用https)。我不想对我的所有网站都使用https,因为它使浏览器变得很重。 问题是当我向web.config添加以下标签时,VS2010终极无法识别它并且无法正常工作。
我已经将项目部署到IIS 7.5,但它也不起作用。我该怎么办?

  <system.webServer>
<rewrite>
  <rule name="Redirect to HTTP">
    <match url="secureDir/(.*)" negate="true" />
    <conditions>
      <add input="{HTTPS}" pattern="^ON$" />
    </conditions>
    <action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" />
  </rule>

  <rule name="Redirect to HTTPS" stopProcessing="true">
    <match url="secureDir/(.*)" />
    <conditions>
      <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
  </rule>
</rewrite>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
 </system.webServer>

1 个答案:

答案 0 :(得分:1)

您需要IIS的URL重写扩展,重写标记仅适用于IIS,因此您需要将其用于您的项目。如果它是正确的,你不一定需要VS来验证你的xml,但如果你想要它,那里有一个指南:http://ruslany.net/2010/04/visual-studio-xml-intellisense-for-url-rewrite-2-0/