Запуск IIS7 для веб-сайта asp.net. У меня есть подпапка, называемая «тестовая», в качестве корня приложения. Мой тестовый сайт развернут в эту тестовую папку. В корневой папке сайта есть webconfig со следующими правилами перезаписи:
<rewrite>
<rules>
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="test.mydomain.com to sub folder" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^test\.mydomain\.com$" ignoreCase="false" />
<add input="{PATH_INFO}" pattern="^/test($|/)" negate="true" />
</conditions>
<action type="Rewrite" url="\test\{R:0}" />
</rule>
</rules>
</rewrite>
Когда пользователь входит https://test.mydomain.com/default.aspx Я хотел бы перенаправить их в приложение в подпапке http://test.mydomain.com/test/default.aspx. Эта перезапись не работает. Мой браузер возвращает сообщение об ошибке:
Страница не перенаправляется должным образом
URL-адрес, отображаемый на странице ошибки: https://test.mydomain.com/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test.
Я не знаю, насколько это связано, но SSL был создан только для корневого сайта www.mydomain.com.
Любая помощь будет очень признательна.
Проверьте, помогает ли следующее. Дайте мне знать, если вам понадобится помощь в понимании этого.
<rewrite>
<rules>
<rule name="sampleRule" stopProcessing="true">
<match url="test/(.*)" negate="true" />
<action type="Redirect" url="http://{HTTP_HOST}/test{PATH_INFO}" redirectType="Temporary" />
</rule>
</rules>
</rewrite>