Тег ssl и rewrite не распознается Visual Studio на веб-сайте mvc3 web.config - PullRequest
3 голосов
/ 04 августа 2011

Я написал простое веб-приложение, используя asp.net mvc3, и у меня есть страница входа, которая контролирует доступ к сайту. Каждый запрос, который не прошел проверку подлинности, будет перенаправлен на эту страницу.
Я хочу использовать 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>

1 Ответ

1 голос
/ 27 мая 2012

Вам потребуется расширение URL Rewrite для IIS, а тег rewrite работает только с IIS, поэтому его необходимо использовать для своего проекта.Вам необязательно нужен VS для проверки вашего xml, если он правильный, но если вы хотите, есть руководство: http://ruslany.net/2010/04/visual-studio-xml-intellisense-for-url-rewrite-2-0/

...