2013-02-28 4 views
1

J'utilise une application node.js sous iisnode (une extension pour IIS qui permet à node.js de gérer les requêtes via IIS). Par défaut, iisnode donne accès à un outil de débogage au http://myapp.com/debug. Cependant, les sites Web Windows Azure remplacent ceci (probablement par accident) avec un urlrewrite dans web.config.Comment modifier web.config pour ne pas réécrire une certaine URL?

<system.webServer> 
    <handlers> 
     <add name="iisnode" path="app.js" verb="*" modules="iisnode"/> 
    </handlers> 
    <rewrite> 
     <rules> 
      <rule name="StaticContent"> 
       <action type="Rewrite" url="public{REQUEST_URI}"/> 
      </rule> 
      <rule name="DynamicContent"> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> 
       </conditions> 
       <action type="Rewrite" url="app.js"/> 
      </rule> 
     </rules> 
    </rewrite> 
    <iisnode 
     debuggingEnabled="true" 
     devErrorsEnabled="true" 
     debuggerPathSegment="debug" 
     nodeProcessCommandLine="&quot;%programfiles(x86)%\nodejs\node.exe&quot;" 
     logDirectory="..\..\LogFiles\nodejs" 
     watchedFiles="*.js;iisnode.yml;node_modules\*;views\*.jade;views\*.ejb;routes\*.js" /> 
</system.webServer> 

Je ne sais pas beaucoup sur web.config rewrite mais il me semble que <action type="Rewrite" url="app.js"/> achemine toutes les demandes de app.js (mon principal dossier de candidature) tant que la demande ne correspond pas à une réelle statique fichier sur le serveur. C'est génial, sauf que je ne veux pas que /debug soit routé vers app.js, je veux laisser iisnode gérer cette requête par défaut comme il est supposé le faire. Si je supprime la <action /> rewrite /debug ne tire en effet le débogueur iisnode, mais rien ne fonctionne bien sûr: P

Comment puis-je modifier cette réécriture d'URL pour éviter /debug?

Répondre