На моем веб-сайте у меня возникла ситуация, когда мой URL-адрес иногда получает параметр строки запроса, добавленный внешней системой.
Таким образом, вместо того, чтобы выглядеть так: http://www.domain.com?myquery=blah
или http://www.domain.com
, он имеет URL-адрес http
: http://www.domain.com?myquery=blah&theirpara=blah
или http://www.domain.com?theirpara=blah
.
Когда пользователь посещает с параметром «их пара», я хотел бы сделать 301 перенаправление на URL-адрес без него.
Я пытался использовать модуль перезаписи URL-адресов, но на самом деле ничего не получалось. Было бы неплохо сделать это на уровне IIS/web.config вместо Response.RedirectPermanent, если это возможно.
Я подумал, что было бы неплохо настроить с помощью правила (модуль записи URL), но, честно говоря, я понятия не имею, как решить эту проблему. Я использую следующее правило, чтобы удалить завершающую косую черту, но не знаю, как изменить ее для этой необходимости.
<!--To always remove trailing slash from the URL-->
<rule name="Remove trailing slash" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
Есть идеи, как его настроить?