Я действительно новичок в переписывании URL-адресов и пытаюсь переписать/перенаправить несколько запросов, но, похоже, не работает. Поскольку это результат поиска, к которому применяются различные фильтры, запросы могут различаться. Например, в одном поиске у нас может быть запрос t1=something
, а в другом у нас может быть t2=somethingelse
, а иногда мы можем комбинировать их, например: t1=something&t2=somethingelse
Я использую IIS7 с web.config, и вот что я сделал до сих пор:
Это мой пример ссылки
www.website.com/search/?t1=first&t2=second
Я пробовал следующее, и ни одно из них не сработало:
(1)
<rewrite>
<rules>
<rule name="first" stopProcessing="true">
<match url="search/" />
<conditions trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="t1=([0-9a-zA-Z]+)" />
</conditions>
<action type="Redirect" url="search/{C:1}/" appendQueryString="false" />
</rule>
<rule name="second" stopProcessing="true">
<match url="search/" />
<conditions trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="t2=([0-9a-zA-Z]+)" />
</conditions>
<action type="Redirect" url="search/{C:1}/" appendQueryString="false" />
</rule>
</rules>
</rewrite>
(2)
<rule name="a" stopProcessing="true">
<match url="search2/" />
<conditions trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="t1=([0-9a-zA-Z]+)" />
<add input="{QUERY_STRING}" pattern="t2=([0-9a-zA-Z]+)" />
</conditions>
<action type="Redirect" url="search2/{C:1}/{C:2}" appendQueryString="false" />
</rule>
Буду очень признателен за любую помощь.
Спасибо.