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?id=1
이 아니라 /contact
로 리디렉션됩니다. appendQueryString
특성의 기본값도 true
로 설정됩니다.
새 동작
쿼리 문자열이 유지됩니다. 이전 동작의 예제에서 URI가 /contact?id=1
이 됩니다.
변경 이유
이전 동작은 IIS UrlRewrite 모듈의 동작과 일치하지 않았습니다. 미들웨어와 모듈 간의 이식을 지원하기 위해서는 일관된 동작을 유지해야 합니다.
권장 작업
쿼리 문자열을 제거하는 동작을 원하는 경우 action
요소를 appendQueryString="false"
로 설정합니다.
영향을 받는 API
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET