我在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=""%programfiles(x86)%\nodejs\node.exe""
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
?