На моя уебсайт имам ситуация, при която 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
.
Когато потребител посети с параметъра "theirpara", бих искал да направя пренасочване 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>
Някакви идеи как да го настроя?