IIS:UrlRewrite 中介軟體查詢字串已保留
某項 IIS UrlRewrite 中介軟體瑕疵導致查詢字串無法保留在重寫規則中。 該瑕疵已修正,以維持 IIS UrlRewrite 模組行為的一致性。
如需討論,請參閱問題 dotnet/aspnetcore#22972 (英文)。
導入的版本
ASP.NET Core 5.0
舊的行為
請考慮下列重寫規則:
<rule name="MyRule" stopProcessing="true">
<match url="^about" />
<action type="Redirect" url="/contact" redirectType="Temporary" appendQueryString="true" />
</rule>
上述規則不會附加查詢字串。 類似 /about?id=1
的 URI 會重新導向至 /contact
,而不是 /contact?id=1
。 appendQueryString
屬性同樣預設為 true
。
新的行為
查詢字串會保留。 舊行為中的範例 URI 為 /contact?id=1
。
變更原因
舊行為不符合 IIS UrlRewrite 模組的行為。 其目標是要維持行為一致,以便支援中介軟體與模組之間的移植作業。
建議的動作
若偏好移除查詢字串的行為,請將 action
元素設為 appendQueryString="false"
。