Я действительно застрял на этом ...
По сути, я пытаюсь сделать 2 страницы всегда через SSL с помощью надстройки URLRewrite для IIS. Но мне также нужно заставить все другие страницы использовать HTTP (вздох - не спрашивай).
Но если я заставлю другие страницы использовать HTTP, то при просмотре страницы SSL вы получите предупреждение о безопасности. Я попытался решить эту проблему, проверив, является ли HTTP_REFERER страницей SSL, затем разрешить ее отправку через SSL только для этой страницы. Это не работает, потому что если кто-то щелкнет ссылку на странице SSL, он останется поверх SSL.
Это вообще возможно? ...
Это насколько я дошел до:
<rewrite>
<rules>
<rule name="Force HTTPS Login" stopProcessing="true">
<match url="(.+)login.aspx" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
<rule name="Force HTTPS Payments" stopProcessing="true">
<match url="(.+)payments.aspx" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
<rule name="Others Force HTTP" stopProcessing="true">
<match negate="true" url="((.+)login.aspx|(.+)payments.aspx)" />
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
<add input="{HTTP_REFERER}" negate="true" pattern="(.+)login.aspx" />
<add input="{HTTP_REFERER}" negate="true" pattern="(.+)payments.aspx" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
ОБНОВЛЕНИЕ: Нашел эту статью: Перепишите http на https на некоторых страницах, используя только .htaccess . Нет ответа с марта 2010 года ...!