es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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>
Tags:  , ,

Answer

  1. Avatar for 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:

    <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>
        <add input="{HTTP_HOST}" pattern="^(test|beta)\.miweb\.com$" negate="true" ignorecase="true"></add>
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirecttype="Permanent" appendquerystring="true"></action>
    </rule>
    

    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.

Comments are closed.