У меня есть следующее правило перезаписи в web.config
моего ASP.NET MVC 5 проекта:«не-WWW на WWW» и «HTTPS» переписать правила в web.config, но не локальный ASP.NET MVC
<rule name="Redirect example.com to www.example.com and enforce https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^[^www]" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
Правило перенаправляет не-www на www и http на https (так что-то вроде http://example.com/hey
будет перенаправлено на https://www.example.com/hey
) и отлично работает. Однако он работает и с localhost
, и я не могу его обойти - я пробовал правила отрицания и регулярные выражения, содержащие |
, но, похоже, не может найти правильные комбинации. Я подхожу к этому неправильно?
Спасибо, я получаю это в Chrome на живом сайте: «www.example.com перенаправлены вы слишком много раз. «ERR_TOO_MANY_REDIRECTS'» - то же самое в Firefox – globetrotter
@globetrotter Я думаю, что это была проблема с 'MatchAny' - см., если обновленный ответ с' MatchAll' помогает – dotnetom
теперь он работает для живого сайта, но пытается добавить 'https' на' localhost ' – globetrotter