1
我正在使用Azure WebApps構建靜態頁面和節點網站的組合,我想定製404頁面,但我無法使其工作。 大多數網站是靜態的,但我有幾條需要服務器代碼的路線。我的web.config看起來如下:帶節點和Azure Web應用程序的自定義靜態錯誤頁面
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By"/>
<add name="x-dns-prefetch-control" value="on"/>
</customHeaders>
</httpProtocol>
<handlers>
<add name="iisnode" path="src/server/index.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<rule name="static">
<match url="(?!dynamicroute).*$" ignoreCase="true"/>
<action type="Rewrite" url="dist{REQUEST_URI}"/>
</rule>
<rule name="dynamic">
<match url="(?:dynamicroute)(.*)$" ignoreCase="true"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
</conditions>
<action type="Rewrite" url="src/server/index.js"/>
</rule>
</rules>
</rewrite>
<!-- Make sure error responses are left untouched -->
<!--<httpErrors existingResponse="PassThrough"/>-->
<httpErrors errorMode="Custom" defaultResponseMode="File" existingResponse="PassThrough">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="~/404.html" responseMode="File" />
</httpErrors>
</system.webServer>
</configuration>
我已經試過的httpErrors
不同變化的path
,responseMode
值,除去existingResponse="PassThrough"
等,但我不能讓它工作。
直接訪問/404.html
作品。訪問不存在的url時,服務器返回404錯誤,而不是我想要的自定義URL。 我在做什麼錯?
我知道我可以處理nodeland的所有事情,但是我希望儘可能避免這種情況。
我不知道我在做什麼錯誤,但工作。非常感謝! –