Web.config переписывает правила добавления дополнительных URL-адресов / on, содержащих www
У меня есть веб-сайт, который имеет SSL, который я автоматически удаляю в начале www с момента посещения пользователем нашего сайта.
Поэтому, когда пользователь вводит www.my-example.com они перенаправляются на https://my-example.com
Вот правило, которое я написал, чтобы достичь этого.
<rule name="Remove www."> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^www.(.*)" /> </conditions> <action type="Redirect" url="http://{C:1}/{URL}" /> </rule>
Это прекрасно работает в большинстве случаев, но я сталкиваюсь с проблемой. У нас есть много внешних источников, ссылающихся на отдельные страницы, которые мы сделали вот так: https://www.my-example.com/example-post
Он правильно удаляет www но добавляет второй / перед постом с примером. Таким образом, приведенный выше url-адрес будет перенаправлен на https://my-example.com//example-post
Мне нужно, чтобы этого не случилось. Есть предложения?
Что я уже пробовал:
У меня есть только 2 правила перезаписи в моем файле web.config. Вот они как есть
<rule name="Force HTTPS Redirection" enabled="true" stopProcessing="true"> <match url="^$" ignoreCase="false"/> <conditions> <add input="{HTTP_HOST}" pattern="localhost" negate="true" /> <add input="{HTTPS}" pattern="^OFF$"/> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/" redirectType="Permanent"/> </rule> <rule name="Remove www."> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^www.(.*)" /> </conditions> <action type="Redirect" url="http://{C:1}/{URL}" /> </rule>