romash
@romash
web-разработчик

Как оформить rewrite rule в iis?

Сделал два правила:
Первое перенаправляет на https,
<rule name="Secure">
	<match url="^" />
	conditions>
		<add input="{SERVER_PORT_SECURE}" pattern="^0$" />
	</conditions>
	<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>

а второе добавляет www.
<rule name="ToWww" stopProcessing="true">
	<match url="^" />
	<conditions>
		<add input="{HTTP_HOST}" pattern="^wafl" />
	</conditions>
	<action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>


По отдельности они работают правильно, но вот вместе (в любом порядке) вызывают бесконечный редирект... :(
Помогите разобраться, пожалуйста.
Есть какой-то инструмент для отладки этого дела? А то в браузере проверять вообще неудобно, а этот засранец ещё и кеширует редиректы (кто-нибудь знает, как в firefox очистить такого рода кеш?)...

После всего этого мне нужно будет ещё создать rewrite-правило, типа
en.domain.net/ -> en.domain.net/?setLang=en
и я уже боюсь, если я с этим не могу справиться, то что дальше будет?... На IIS недавно совсем, до этого использовал апач, и пока вообще мало что знаю...
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 1
@aynur_safin
Попробуйте объединить в одно и указать в перенаправлении полное имя хоста

<rule name="Secure and ToWww" stopProcessing="true">
  <match url="^" />
  <conditions logicalGrouping="MatchAny">
    <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
    <add input="{HTTP_HOST}" pattern="^[^www]" />
  </conditions>
  <action type="Redirect" url="https://www.example.com{REQUEST_URI}" redirectType="Permanent" />
</rule>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы