iis 7 - instalar - Cómo corregir la reescritura de URL para enlaces dentro de archivos CSS con IIS7
url rewrite iis examples (1)
Es posible hacer esto con una regla de reescritura de salida en combinación con ARR. La siguiente regla debería hacerlo:
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Rewrite image URLs in CSS response" preCondition="IsCSS">
<match pattern="localhost/img/" />
<action type="Rewrite" value="localhost/pandora/img/" />
</rule>
<preConditions>
<preCondition name="IsCSS">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="text/css" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>
Por supuesto, debe reemplazar localhost con los nombres de dominio adecuados. Si está reescribiendo desde un nombre de dominio diferente, entonces la etiqueta de coincidencia debe contener el nombre de dominio que desea reemplazar y la etiqueta de acción debe contener el nombre de dominio que desea que reemplace.
Como CSS no es HTML, no puede usar la función de filtrado de etiquetas del módulo de reescritura de URL. Por lo tanto, solo puede hacer la coincidencia de expresiones regulares con todo el contenido del archivo CSS, que puede ser intensivo en CPU en archivos CSS grandes. Si sabe cuántas URL se deben reemplazar, puede agregar el atributo occurrences="x"
a la etiqueta <match>
para limitar el número de coincidencias que debe buscar el módulo de reescritura de URL. También intente mover las reglas de CSS a la parte superior del archivo CSS. P.ej:
<action type="Rewrite" value="localhost/pandora/img/" occurrences="3" />
También puede habilitar el almacenamiento en caché en modo de usuario en IIS y agregar el atributo rewriteBeforeCache="yes"
a la etiqueta <outboundRules>
para permitir que IIS rewriteBeforeCache="yes"
caché el contenido reescrito. P.ej:
<outboundRules rewriteBeforeCache="yes">
Puede encontrar más información útil y sugerencias sobre reglas de reescritura de salida en esta publicación de blog .
Estoy tratando de configurar un servidor proxy para mis amigos en casa. Actualmente estoy siguiendo el tutorial en el sitio web ( http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite- and-arr.aspx ) pero me he encontrado con un problema extraño.
Intenté hacer / pandora redirigir a www.pandora.com pero los enlaces dentro de los archivos CSS no están cambiando. Además, todavía están vinculados a la ruta localhost / img / .. Deben ser redirigidos a la ruta localhost / pandora / img / ..
sniplet de la primera página web
<link rel="shortcut icon" href="/pandora/favicon.ico" type="image/x-icon" />
<link rel="icon" type="image/ico" href="/pandora/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/compiled.css?v=95845013">
<link id="valanceStyle" rel="stylesheet" type="text/css" href="/pandora/static/valances/pandora/default/design.css"/>
¿Pueden ayudarme a solucionar este problema?