Шаблон перезаписи IIS, соответствующий точному URL - PullRequest
1 голос
/ 02 апреля 2012

У меня запущен IIS7.5, и я пытаюсь сопоставить явный URL. Следующий код не работает.

 <rule name="presid" stopProcessing="true">
    <match url="(.*)" />
        <conditions>
            <add input="{REQUEST_URI}" matchType="Pattern" pattern="http://www.presid.com/presid" ignoreCase="true" negate="false" />
        </conditions>
    <action type="Redirect" url="http://www.domain.com/presid" />
  </rule>

I've also tried escaping the periods:
http://www\.presid\.com/presid
but that doesn't seem to work either.

Как мне сопоставить определенный полный URL-адрес с помощью IIS7.5?

Спасибо

Это работает, но не делает именно то, что я ищу: (. *) / Presid, но у меня есть изображения, которые ломаются: http://domain.com/images/presid/eee.jpg

Я не хочу, чтобы это изображение было перенаправлено.

Ответы [ 2 ]

6 голосов
/ 05 апреля 2012

REQUEST_URI не содержит имя хоста.

используйте это вместо:

<add input="{REQUEST_URI}" matchType="Pattern" pattern="^/presid$" ignoreCase="true" negate="false" />
2 голосов
/ 04 сентября 2014

Когда мне нужно было точно указать полный URL-адрес, я использовал 2 условия, одно для хоста и одно для остальных, например:

<add input="{HTTP_HOST}" pattern="www.yourdomain.com" />
<add input="{REQUEST_URI}" pattern="pages/yourpage.aspx" />
...