2013-02-28 58 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

回答