Правило перезаписи URL IIS, исключая несколько файлов - PullRequest
0 голосов
/ 31 мая 2019

У меня есть правило перезаписи URL IIS, которое вызывает HTTPS, если только эта страница не является healthcheck.html (более 80 портов).Это работает как чудо, поскольку я использую логику сопоставления URL следующим образом:

<match url="healthcheck.html" negate="true" />

Однако мне нужно исключить не только эту страницу, но и второй файл с именем OtherCheck.aspx в каталоге с именем Dir1

Я не нашел случаев, когда другие исключали два файла, особенно тот, который не находится в корне.Возможно ли иметь два исключения из имени файла?Я попробовал это, но это не сработало:

<match url="healthcheck.html&/Dir1/OtherCheck.aspx" negate="true" />

1 Ответ

1 голос
/ 31 мая 2019

Структура файлов и папок: s1 (корневая папка):

healthcheck.html (файл)

s2 (подпапка):

page1.html (файл)

Вы можете использовать приведенное ниже правило перезаписи URL для исключения нескольких файлов:

 <rule name="Redirect to HTTPS multiple file" enabled="true" stopProcessing="true">
     <match url="(.*)" />
     <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{HTTPS}" pattern="off" />
                    <add input="{REQUEST_URI}" pattern="^/healthcheck.html" negate="true" />
                    <add input="{REQUEST_URI}" pattern="^/s2/page1.html" negate="true" />
     </conditions>
     <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
   </rule>

Перенаправление https:

enter image description here

исключить файл: enter image description here enter image description here

Примечание. Вы можете установить имя файла и папки в соответствии с вашими требованиями.

С уважением, Jalpa

...