Проблема сопоставления RegEx с модулем перезаписи IIS

Я пытаюсь установить соответствие Regex для URL-адреса в модуле перезаписи URL-адресов IIS. Регулярное выражение идеально соответствует вне IIS (если я сопоставляю его на любом веб-сайте с моим URL-адресом), но оно не работает в IIS. На самом деле я хочу заблокировать этот URL.

Ниже приведено регулярное выражение и мой URL.

Регулярное выражение:

(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)[.,/(]guid[.,/']1a0aa5c3-1375-446e-9d69-c9eb4383a3ec[.,/'][.,/)]\/Items

И URL:

http://example.com/ManagedPath/Site/_api/Web/Lists(guid'1a0aa5c3-1375-446e-9d69-c9eb4383a3ec')/Items

Модуль IIS Rewrite по-разному обрабатывает Regex? я что-то упускаю?


person Chillax Designs    schedule 03.01.2019    source источник
comment
blog.lextudio.com/ Ошибка 1.   -  person Lex Li    schedule 03.01.2019
comment
Это был очень важный момент. Спасибо, Лекс, я исправил. К сожалению, он все еще не работает в IIS, однако регулярное выражение соответствует.   -  person Chillax Designs    schedule 03.01.2019
comment
Попробуйте проверить, что показывает FRT, docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/   -  person Lex Li    schedule 03.01.2019
comment
Ваш первый комментарий поразил меня, и я могу решить проблему. Большое спасибо, приятель. :)   -  person Chillax Designs    schedule 03.01.2019
comment
Опубликуйте свой ответ и примите его, пожалуйста.   -  person Lex Li    schedule 03.01.2019


Ответы (1)


Это сработало для меня.

\/sitecollection\/site\/_api\/Web\/Lists(\()guid(\')b1a0aa5c3-1375-446e-9d69-c9eb4383a3ec(\')(\))(.*)

Нет необходимости добавлять URL-адрес хоста в регулярное выражение.

Надеюсь, это поможет кому-то.

person Chillax Designs    schedule 03.01.2019