IIS URL перенаправление - igonre соответствует всем для некоторых URL - PullRequest
0 голосов
/ 03 января 2019

Мне пришлось изменить предыдущий шаблон URL на что-то другое.Ранее шаблон URL был

www.testdomain.com / hotels / "city", и он изменился на www.testdomain.com/hotel-"city"

Ниже приведено перенаправление, которое я использовал,for.

<rule name="cityChange" patternSyntax="ECMAScript" stopProcessing="true">
  <match url="^hotels/(.*)" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{HTTP_HOST}" pattern="www.testdomain.com" />
  </conditions>
  <action type="Redirect" url="www.testdomain.com/hotel-{R:1}"appendQueryString="false" redirectType="Temporary" />
</rule>

Теперь у меня есть еще одна проблема - другой URL, который я использовал для сайта, также перенаправляет на другой.Этот URL-адрес:

www.testdomain.com / hotels / 'city' / 'name' - 'street' - 'postalcode'

Поскольку я использовалподстановочный знак для / hotels / 'city' для / hotel-'city 'изменяется над URL-адресом как

www.testdomain.com / hotel-'city' / 'name' - 'street'-'почтовый индекс '

.Но этот URL недействителен на сайте, и я не хочу заменять "/" с "-" там.

Как я могу исключить этот шаблон URL из того подстановочного знака, который я упомянул выше?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 января 2019

Не можете быть в этом уверены, но вы пытались добавить круглые скобки, вот так?

<match url="^(hotels)/(.*)" />

Мы сделали это для конкретного перенаправления с подстановочными знаками:

<rule name="modeles-en" enabled="true" stopProcessing="true">
  <match url="^(modeles-en)/(.*)" ignoreCase="true" />
  <action type="Redirect" url="/models/{R:2}" redirectType="Permanent" />
</rule>

Надеюсь, это поможет!

...