Я пытаюсь переписать URL-адрес в asp.net core 2.2, но, похоже, он не работает с частью строки запроса. Я хочу изменить любой путь, например "finditem? Txn = 3", на что-то вроде "find / item? Transactionsid = 3". В качестве более простого примера, без умной замены идентификатора транзакции, посмотрите на этот код:
private static RewriteOptions GetRewriteOptions() => new RewriteOptions()
.AddRewrite(@"^bananatxn=\d$", "Download", true) // Works with bananatxn=1
.AddRewrite(@"^banana\?txn=\d$", "Download", true); // Does NOT work with banana?txn=1
Почему переписчик не может сопоставить знак вопроса? Я проверил свои паттерны в http://regexstorm.net/tester и, хотя паттерн кажется правильным, он не работает. Может ли программа переписывания в ядре asp.net переписать весь URL-адрес, включая строку запроса, или только часть перед знаком вопроса?