2013-02-28 57 views
1

我在iisnode(允许node.js通过IIS管理请求的IIS扩展)下运行node.js应用程序。默认情况下,iisnode允许访问调试工具http://myapp.com/debug。但是,Windows Azure网站会在web.config中使用urlrewrite覆盖此(可能是偶然)。如何修改web.config以不重写某个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> 

我不知道很多关于web.config中重写,但在我看来像<action type="Rewrite" url="app.js"/>是路由所有的请求app.js(我的主应用程序文件),只要该请求不符合实际的静态文件在服务器上。除了我不希望/debug被路由到app.js,我想让iisnode按默认的方式处理该请求。如果我删除<action />重写/debug确实拉起了iisnode调试器,但当时没有别的作品当然是:P

我该如何修改这个url重写以避免/debug

回答