redirigir how force always iis url-rewriting web-config

how - redirect http to https iis 8



Regla de reescritura de IIS en web.config para redirigir las solicitudes HTTPS a HTTP (2)

Necesito redirigir todas las solicitudes https a http, por ejemplo, si alguien visita https://www.example.com/another-page/ a http://www.example.com/another-page/

Tengo la siguiente regla de reescritura en mi web.config en este momento, pero no está funcionando correctamente. Está redirigiendo https://www.example.com/another-page/ a https://www.example.com/ , por lo que a la raíz del sitio, pero en su lugar quiero que el redireccionamiento permanezca en la misma URL y solo reescribe https a http.

<rule name="Redirect to HTTP" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{R:1}" pattern="^onepage/(.*)$" negate="true" /> <add input="{HTTPS}" pattern="^ON$" /> </conditions> <action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" /> </rule>

Cualquier ayuda sobre el cambio de la regla anterior para que solo cambie https a http, pero mantiene la URL completa visitada sería muy apreciada.


Por favor, pegue el siguiente código en web.config archivo web.config .

<rule name="Redirect to http" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" url="http://{HTTPS_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" /> </rule>


Configuré tu regla, limpié un poco, y funcionó; entonces esto realmente no responde con mucho nuevo.

Sugerencia: onepage la condición de entrada de una página solo para probar, como sugirió cheesmacfly en el comentario de la pregunta.

Además, intente cambiar la acción a {R:1} lugar de {R:0} . No debería importar en este caso, pero me gusta utilizar 1 y arriba, para que coincida con el grupo de captura específico. R: 0 significa la secuencia completa, que siempre me confunde un poco.

<rule name="Redirect to HTTP" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^ON$" /> </conditions> <action type="Redirect" url="http://{HTTP_HOST}/{R:1}" redirectType="Permanent" /> </rule>

Una posibilidad es que su navegador haya guardado en caché un intento anterior de sus reglas. Cuando el redirectType es permanente y aún está en desarrollo o probando, el navegador a menudo almacena en caché una regla anterior. Borre la caché de su navegador y / o elimine la opción Permanente y / o navegue en modo incógnito. Cuando termine de probar, cámbielo a permanente. Vea los números 2 y 3 en esta respuesta: https://.com/a/9204355/292060