asp.net - for - Reescribe URL de Web.config-HTTPS y no-WWW
url rewrite windows server 2012 download (1)
Necesito tener reescrituras tanto https
como non-www
, mientras que tampoco HARDCODING el dominio , ya que tenemos numerosos servidores. Esto debe estar en web.config
, no en IIS
.
He leído numerosos artículos:
- http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference
- http://madskristensen.net/post/url-rewrite-and-the-www-subdomain
- cómo configurar asp.net web.config reescribir http a https y www a no www
La https
reescribe las obras, la non-www
no funciona.
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<!--<add input="{CACHE_URL}" pattern="*://www.*" />-->
<!--<add input="{HTTP_HOST}" pattern="*://www.*" />-->
<add input="{HTTP_HOST}" pattern="^.*www.*" />
</conditions>
<action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />
// i''ve also tried
// url="{C:2}/{R:1}"
// url="{C:1}/{C:2}"
</rule>
Probé la expresión regular para ^.*www.*
En un probador de expresiones regulares y coincidía con www.testing.com
pero no con testing.com
, así que supongo que el patrón lo captaría.
Necesito las URL para redirigir desde:
- testing.com ---> https://testing.com
- www.testing.com ---> https://testing.com
- www.testing.com/xyz/ ---> https://testing.com/xyz/
Era mi problema: no había DNS para www
, por lo tanto, la redirección no se resolvería por sí misma.
Código utilizado:
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)"/>
<conditions>
<add input="{HTTPS}" pattern="^OFF$"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent"/>
</rule>
<rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{CACHE_URL}" pattern="*://www.*" />
</conditions>
<action type="Redirect" url="{C:1}://{C:2}" redirectType="Permanent" />
</rule>