Я использую ответ given here как основу для попытки добавить правило перезаписи в файл web.config. Я хочу, чтобы он соответствовал любому URL-адресу, который не работает на localhost, чтобы заставить https.Правило перезаписи для HTTPS, за исключением случаев, когда на localhost
Вот что я прямо сейчас:
<system.webServer>
<rewrite> <!-- force https - https://stackoverflow.com/a/15119044/51 -->
<rules>
<rule name="Redirect HTTP to HTTPS" stopProcessing="true">
<match url="^((?!localhost).)*$"/>
<conditions>
<add input="{HTTPS}" pattern="^OFF$"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
</rule>
</rules>
</rewrite>
</system.webServer>
Я пытаюсь использовать negative lookaround для того, чтобы только матч URL, которые не включают в себя «локальный» в URL. Но это не работает.
Итак, как это правило должно быть настроено для того, чтобы переписывать не-localhost url?
Результаты в «Ошибка HTTP 500.50 - Ошибка перезаписи URL-адреса». –
Можете ли вы попробовать обновленное правило с 'negate =" true "? – anubhava
Такая же ошибка. Я подозреваю, что это может быть связано с действием, связанным с группировкой - '{R: 1}' - которое больше не входит в соответствующее регулярное выражение. –