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