Ошибка HTTP 500.50, вызванная слишком сложным регулярным выражением после обновления - PullRequest
0 голосов
/ 02 июля 2019

У нас есть странная проблема на некоторых Dev-машинах под управлением Windows 10 и Visual Studio 2019. Веб-сайт MVC больше не может быть отлажен, потому что некоторые ресурсы (CSS, JS) не могут быть загружены.Все ресурсы отображают:

HTTP Error 500.50 - URL Rewrite Module Error

The expression "^\/(([\(\)\.\-\/_äöüßA-Za-z0-9\s]*)+)(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))" failed to match because it was too complex.

Не было внесено никаких изменений в web.config или в правила перезаписи.Правила, которые сейчас «слишком сложны», существуют годами.

Так что я думаю, что это должно быть связано с Visual Studio 2019 или обновлениями Windows.На машине разработчика под управлением Windows 1803 и VS 16.0.3 она все еще работает, машины с Win 1809 и VS 16.1.3 и Win 1903 и VS 16.1.4 не работают.

У меня все еще установлена ​​VS 2017Параллельно, но он тоже сломан, так что, может быть, это действительно связано с версией Windows?

Не думаю, что правила - это проблема, так как они используются годами, но для полноты здесьпроблемные:

        <rule name="seachingmagazineD" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{URL}" pattern="^\/(([\(\)\.\-\/_äöüßA-Za-z0-9\s]*)+)(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))" />
          </conditions>
          <action type="Redirect" url="/{C:1} {C:4} {C:7} {C:10} {C:13}" />
        </rule>
        <rule name="seachingmagazineC" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{URL}" pattern="^\/(([\(\)\.\-\/_äöüßA-Za-z0-9\s]*)+)(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))" />
          </conditions>
          <action type="Redirect" url="/{C:1} {C:4} {C:7} {C:10}" />
        </rule>
        <rule name="seachingmagazineB" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{URL}" pattern="^\/(([\(\)\.\-\/_äöüßA-Za-z0-9\s]*)+)(\+(([\.\-_äöüßA-Za-z0-9\s])*))(\+(([\.\-_äöüßA-Za-z0-9\s])*))" />
          </conditions>
          <action type="Redirect" url="/{C:1} {C:4} {C:7}" />
        </rule>
        <rule name="seachingmagazineA" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{URL}" pattern="^\/(([\(\)\.\-\/_äöüßA-Za-z0-9\s]*)+)(\+(([\.\-_äöüßA-Za-z0-9\s])*))" />
          </conditions>
          <action type="Redirect" url="/{C:1} {C:4}" />
        </rule>

Поскольку я не нашел ничего в интернете с этими конкретными сообщениями об ошибках, может быть, кто-то уже сталкивался с той же проблемой или есть идея?

Это такдействительно раздражает комментировать проблемные строки каждый раз, когда вам нужно отладить.И я боюсь, что это может быть изменение общих настроек, которое когда-нибудь найдет свое применение, а именно настройки IIS в Azure ...

...