3

我使用 asp.net mvc3 编写了一个简单的 Web 应用程序,并且我有一个登录页面来控制对站点的访问。每个未通过身份验证的请求都将重定向到此页面。
我想使用 ssl 使网站安全(使用 https)。我不想对我的所有网站都使用 https,因为它对浏览器来说很重。问题是当我将以下标签添加到 web.config 时,VS2010 Ultimate 无法识别它并且无法正常工作。
我也将项目部署到 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>
4

1 回答 1

1

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

于 2012-05-26T23:45:09.773 回答