Pregunta

Parece que no puedo entender estas reglas de reescritura por alguna razón y esperaba que pudieran ayudarlo. Lo que quiero es una regla de salida que reescribirá rutas para etiquetas de enlace, IMG, script y entrada.

Quiero cambiar esto: http://www.mysite.com/appname/css/file.css

A esto: http://cdn.mysite.com/css/file.css

Entonces, básicamente necesito cambiar el nombre del host y soltar el nombre de la aplicación de la URL. Ya tengo los filtros previos a la condición *.Saspx de archivos establecidos, pero el resto me parece griego.

Editar para mayor claridad

El nombre de AppName en la URL anterior es una aplicación en IIS. Es un marcador de posición para cualquier nombre de aplicación que esté en uso. Podría ser cualquiera de las más de 50 aplicaciones diferentes con nuestra configuración actual. Habrá SIEMPRE ser un nombre de app. Quizás eso hará que la regla sea aún más fácil.

El nombre de host, en este caso www.mysite.com, también puede variar ligeramente en términos del subdominio. Puede ser www1.mysite.com, www2, etc. Además, me doy cuenta de que necesito mantener el SSL si está allí.

Entonces, supongo que cuando se trata de eso, realmente solo necesito tomar la URL, menos el nombre de la aplicación y agregarla al nuevo dominio, mientras respeto el protocolo que se usó.

URL original: http (s): // {host}/{appname}/{url}

Salida: http (s): //cdn.mysite.com/ {url}

¿Fue útil?

Solución

Supongo que el dominio de su sitio web es siempre el mismo, entonces esta regla debería hacer:

<rule name="CdnRule" preCondition="OnlyAspx" >
    <match filterByTags="Img, Input, Link, Script" pattern="^(.+)://.+?\.(.+?)/.+?/(.*)" />
    <action type="Rewrite" value="{R:1}://cdn.{R:2}/{R:3}" />
</rule>

<preConditions>
<preCondition name="OnlyAspx">
    <add input="{PATH_INFO}" pattern=".+\.aspx$" />
</preCondition>
</preConditions>

Editar: Cambiado según la pregunta clarificada

Supongo que el subdominio (www, www2, ...) siempre está ahí y debe ignorarse en la URL objetivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top