У меня есть проект, в котором мы перестраиваем сайт для клиента, новый сайт использует umbraco на платформе .net. старый сайт был холодным синтезом.
Umbraco использует библиотеку urlrewriting.net, поэтому я создал все 301 правила возврата для старых URL холодных слияний, но это вызывает бесконечный цикл.
<add name="r66" virtualUrl="^~/thing_info/index.cfm.D413249D-BCD8-304B-02CD-561DAC70641E$"
destinationUrl="~/about-us/award-winning-product" redirect="Application" redirectMode="Permanent" ignoreCase="true" />
Я знаю "." имеет особое значение, но работает достаточно хорошо, я тоже использовал "." соответствовать любому символу, включая «?» символ, начинающий строку запроса.
если я зайду, попробуйте URL без строки запроса, например
http://staging.site/thing_info/index.cfm-D413249D-BCD8-304B-02CD-561DAC70641E
тогда меня правильно перенаправляют на
http://staging.site/about-us/award-winning-product
Однако, если я попробую URL (вопросительный знак - единственное отличие)
http://staging.site/thing_info/index.cfm?D413249D-BCD8-304B-02CD-561DAC70641E
Тогда я заканчиваю цикл перенаправления к себе. (Я проверил заголовок ответа)
У кого-нибудь есть идеи, если я сделал что-то не так или это ошибка в библиотеке urlrewriting.net? или как исправить проблему?