2011-10-02 20 views
6

Tengo un problema con mis urlrewrites - cada vez que señalo una página que se va a reescribir no se puede mostrar porque también está aplicando la regla a los archivos css & js que están referenciado dentro de mi página webIIS url reescritura - css y js incorrectamente reescritos

Para tratar de remediar esto, puse una ruta totalmente calificada para el css y js - esto rinde bien en cualquier página donde aún no se aplica la reescritura cuando intento acceder a una página reescrita que bloquea el navegador.

¿Alguien ha encontrado algo similar y si es así tiene una solución? Aprecia cualquier ayuda. Intenté buscar en el sitio problemas similares, pero ninguno me ayudó hasta ahora.

<rewrite> 
<outboundRules> 
<rule name="OutboundRewriteUserFriendlyURL1" preCondition="ResponseIsHtml1" stopProcessing="true"> 
<match filterByTags="A, Form, Img" pattern="^(.*/)myapplicationname/Index\.html\?team=([^=&amp;]+)$" /> 
<action type="Rewrite" value="{R:1}team/{R:2}/" /> 
</rule> 
<preConditions> 
<preCondition name="ResponseIsHtml1"> 
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> 
</preCondition> 
</preConditions> 
</outboundRules> 
<rules> 
<rule name="RedirectUserFriendlyURL1" stopProcessing="true"> 
<match url="^myapplicationname/Index\.html$" /> 
<conditions> 
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" /> 
<add input="{QUERY_STRING}" pattern="^([^=&amp;]+)=([^=&amp;]+)$" /> 
</conditions> 
<action type="Redirect" url="{C:1}/{C:2}" appendQueryString="false" /> 
</rule> 
<rule name="RewriteUserFriendlyURL1" stopProcessing="true"> 
<match url="^([^/]+)/([^/]+)/?$" /> 
<conditions> 
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
</conditions> 
<action type="Rewrite" url="Index.html?{R:1}={R:2}" appendQueryString="false" /> 
</rule> 
</rules> 
</rewrite> 

dentro de mi página web:

<script src="/myapplicationname/Scripts/jquery-1.4.1.js" type="text/javascript"> </script> 
<link href="/myapplicationname/Styles/MainStyle.css" rel="stylesheet" type="text/css" /> 

que es la aplicación de la reescritura de estos y tratando de encontrar /myapplicationname/Team/Styles/MainStyle.css y similar con el archivo JS.

Respuesta

4

Trate de averiguar qué regla está causando el problema eliminándolos uno por uno. Ahora agregar una condición a esa regla:

<rule name="Some rule"> 
     ... 
     <conditions logicalGrouping="MatchAny"> 
      <add input="{URL}" pattern="^.*\.(ashx|axd|css|gif|png|jpg|jpeg|js|flv|f4v)$" negate="true" /> 
     </conditions> 
    </rule> 

Esto evitará que ejecuta la regla de los archivos que terminan con js, css, etc.

Cuestiones relacionadas