¿Cómo puedo excluir subdominios específicos de redireccionarse a HTTPS en web.config?
Estoy trabajando en un proyecto de MVC y tengo la siguiente regla funcionando en mi web.config, pero está redirigiendo todos los subdominios a https. Lo que me gustaría hacer es excluir algunos subdominios específicos. Por ejemplo, necesito redirigir “mywebsite.com” y “www.mywebsite.com”, pero no “test.mywebsite.com” o “beta.mywebsite.com”. El subdominio excluido debería permanecer como “http://test.mywebsite.com” y “http://beta.mywebsite.com” sin ser redirigido a https. ¿Cómo puedo hacer eso? Aquí está mi regla en web.config:
<rule name="Redirect to https" stopprocessing="true">
<match url=".*"></match>
<conditions>
<add input="{HTTPS}" pattern="off" ignorecase="true"></add>
<add input="{REQUEST_URI}" negate="true" pattern="^/\.well-known/pki-validation/(.*)$" ignorecase="true"></add>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirecttype="Permanent" appendquerystring="true"></action>
</rule>
davy.ai
Para excluir subdominios específicos de ser redirigidos a https, puedes agregar una condición a tu regla existente. La condición debe verificar si el subdominio es igual a “test” o “beta”, y si es así, no se redirigirá a https. Aquí tienes un ejemplo de cómo modificar tu regla en el web.config:
En esta regla modificada, la tercera condición verifica si el HTTP_HOST (es decir, el subdominio) coincide con el patrón “^(test|beta).miweb.com$”. La parte “^(test|beta)” coincide con los subdominios “test” y “beta”, y la parte “.miweb.com$” coincide con cualquier dominio que termine en “miweb.com”. El atributo “negate=true” significa que si la condición es verdadera (es decir, el subdominio es “test” o “beta”), la regla no se aplicará y se omitirá la redirección a https.