Estoy intentando volver a escribir las direcciones URL de la forma:Reescritura de URL https: // http: // en IIS7
https://example.com/about
a la forma
http://example.com/about
usando IIS7 URL rewriting:
<!-- http:// to https:// rule -->
<rule name="ForceHttpsBilling" stopProcessing="true">
<match url="(.*)billing/(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
<!-- https:// to http:// rule -->
<rule name="ForceNonHttps" stopProcessing="true">
<match url="(.*)billing/(.*)" ignoreCase="true" negate="true" />
<conditions>
<add input="{SERVER_PORT}" pattern="^443$" />
</conditions>
<action type="Redirect" redirectType="Found" url="http://{HTTP_HOST}{REQUEST_URI}" />
</rule>
Estoy perdido; He estado navegando por la web en busca de ejemplos y probando cada sintaxis que se me ocurre. Las reglas de reescritura que especifico simplemente no parecen funcionar en todo para cualquier solicitud https, como si todas las solicitudes https://
fueran absolutamente invisibles para el motor de reescritura.
reglas funcionan bien; ver respuesta a continuación.
Huele como una 'característica' de seguridad rudimentaria –
Esto me huele a una pregunta de error de servidor ... –
@Charlie, no.Esta es una de esas preguntas que es tanto de codificación como de administración, así que déjelo en el sitio en el que comenzó (como muchas preguntas de scripting) –