Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un defecto de middleware UrlRewrite de IIS impedía que la cadena de consulta se conservase en las reglas de reescritura. Ese defecto se ha corregido para mantener la coherencia con el comportamiento del módulo URLRewrite de IIS.
Para obtener información, vea el tema dotnet/aspnetcore#22972.
Versión introducida
ASP.NET Core 5.0
Comportamiento anterior
Tenga en cuenta la siguiente regla de reescritura:
<rule name="MyRule" stopProcessing="true">
<match url="^about" />
<action type="Redirect" url="/contact" redirectType="Temporary" appendQueryString="true" />
</rule>
La regla anterior no anexa la cadena de consulta. Un URI como /about?id=1 redirige a /contact en lugar de /contact?id=1. El appendQueryString atributo también tiene true como valor predeterminado.
Nuevo comportamiento
La cadena de consulta se mantiene. El URI del ejemplo en Comportamiento antiguo sería /contact?id=1.
Motivo del cambio
El comportamiento anterior no coincide con el comportamiento del módulo URLRewrite de IIS. Para admitir la portabilidad entre el middleware y el módulo, el objetivo es mantener comportamientos coherentes.
Acción recomendada
Si se prefiere el comportamiento de quitar la cadena de consulta, establezca el elemento action a appendQueryString="false".