Я добавляю некоторые правила перезаписи URL в свой IIS, чтобы он перенаправлял старый URL в новое местоположение.
Это работает, когда URL имеет только один параметр строки запроса, но если у меня более одного, это не работает. Что я могу сделать, чтобы я мог получить второй параметр, если он существует, а если нет, то просто получить первый?
Вот мое правило web.config.
<rule name="Rewrite rule1 for viewtopic.php" stopProcessing="true">
<match url="^.*(?:viewtopic.php).*$.*" />
<conditions>
<add input="{QUERY_STRING}" pattern="^t=/name=([0-9]*)/" />
</conditions>
<action type="Redirect" url="https://example.com/view/{C:1}/topic" appendQueryString="false" redirectType="SeeOther" />
</rule>
Правило будет работать, если мой URL такой. https://example.com/viewtopic.php?t=123456
Теперь у меня есть несколько старых URL-адресов, отформатированных так: https://example.com/viewtopic.php?t=123456&highlight=Welcome
в этом случае при запуске правила IIS мне выдается следующий URL-адрес перенаправления
https://example.com/view/123456&highlight=Welcome/topic и я пытаюсь сделать так, чтобы URL был таким: https://example.com/view/123456/topic