IIS 7.5 с модулем перезаписи URL-адреса удваивает параметры QueryString при обратной передаче
Я использую IIS 7.5 на Windows 7 RC. Я использую модуль IIS Url Rewrite для перезаписи URL.
Кажется, все работает нормально, пока я не выполню обратную передачу, нажав кнопку. Затем он добавляет параметры строки запроса в мой переписанный URL, например так:
Переписать URL, как это выглядит в браузере: HTTP: // локальный / EN / продукт / 1239 / Gary Fisher + + Hkek + Горный велосипед +
Без перезаписи URL адрес:
Когда я нажимаю кнопку, чтобы выполнить обратную передачу, URL-адрес меняется на это:
И когда URL перезаписывается, все параметры строки запроса удваиваются - поэтому, когда я хочу получить текущий язык, сделав это:
Request.QueryString["lang"]
Значение, которое я получаю, равно "en, en".
Кто-нибудь еще имеет эти проблемы?
UPDATE: Rewrite rules from Web.Config
<rule name="RedirectProductPageUrls" stopProcessing="true">
<match url="^product\.aspx$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" />
<add input="{QUERY_STRING}" pattern="^lang=([^=&]+)&id=([^=&]+)&title=([^=&]+)$" />
</conditions>
<action type="Redirect" url="{C:1}/products/{C:2}/{C:3}" appendQueryString="false" redirectType="Permanent" />
</rule>
<rule name="RewriteProductPageUrls" stopProcessing="true">
<match url="^([^/]+)/product/([^/]+)/([^/]+)/?$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="product.aspx?lang={R:1}&id={R:2}&title={R:3}" />
</rule>