在 HTTPErrors 中委派 errorMode
警告: 此功能目前無法在 IIS 7.0 中如預期般運作。下一個版本正在處理。在 IIS 7.0 中,您可以鎖定和解除鎖定特定網站或整個伺服器的 HTTP 錯誤;但目前,「lockAllAttributesExcept=」errorMode「 不適用於 HTTPErrors。不過,您可以使用本文中有關解除鎖定其他 IIS 組態區段中特定屬性的概念。
在某些情況下,主機人員可能需要委派給「applicationhost.config」檔案中的客戶特定設定,而不委派整個區段,HTTPErrors 區段中的 errorMode 設定是其中一個,另一個則是 ASP 區段中的 scriptErrorSentToBrowser 設定。 為了進行疑難排解,主機廠商的客戶可能會想要在遠端用戶端中顯示詳細錯誤。 若要啟用它,主機程式必須鎖定 errorMode 以外的所有屬性, (lockAllAttributesExcept=「errorMode」) ,並將錯誤元素鎖定 (lockElements=「error」) 。 如此一來,客戶可以將 errorMode 從 「detailedLocalOnly」 變更為 「Detailed」,而且他們會收到所有錯誤的詳細錯誤。
若要委派 errorMode 設定:
透過 overrideModeDefault 開啟並變更 < 區段名稱=「HTTPErrors」 overrideModeDefault=「Deny」 / 元素,以允許透過 overrideModeDefault
%windir%\system32\inetsrv\config\applicationhost.config
中的 > applicationhost.config區段委派<httpErrors>
,如下所示:<section name="httpErrors" overrideModeDefault="Allow" />
使用 lockAllAttributesExcept 和 lockElements 只允許委派 errorMode 設定、找出
<httpErrors>
元素並變更,如下所示:<httpErrors lockAllAttributesExcept="errorMode" lockElements="error" >
您的 HTTPErrors 區段在變更之後看起來可能會像這樣:
<httpErrors lockAllAttributesExcept="errorMode" lockElements="error"> <error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="401.htm" /> <error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="403.htm" /> <error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="404.htm" /> <error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="405.htm" /> <error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="406.htm" /> <error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="412.htm" /> <error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="500.htm" /> <error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="501.htm" /> <error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="502.htm" /> </httpErrors>
現在,您身為主機者可以使用 appcmd 將 errorMode 設定設為 「Detailed」 或 「Custom」 (請參閱下列範例)
%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:httpErrors -errorMode:Detailed
或者,您可以要求您的客戶在其web.config檔案中放置下列語句:
<system.webServer> <httpErrors errorMode="Detailed"/> </system.webServer>
資源
如需詳細資訊,請參閱: