我目前正在部署一個asp.net網站共享的託管環境,這工作正常(404頁渲染)如何在web.config中的httpErrors上設置defaultPath而不指定自定義錯誤頁面?
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/file-not-found.htm" responseMode="ExecuteURL" />
</httpErrors>
但這並不(500內部服務器錯誤)
<httpErrors errorMode="Custom" defaultPath="error.htm" defaultResponseMode="ExecuteURL">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/file-not-found.htm" responseMode="ExecuteURL" />
</httpErrors>
我要求看看的的applicationHost.config,它具有:
<httpErrors errorMode="Custom" defaultPath="C:\inetpub\custerr\en-US\SSLRedirect.htm" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
所以我假設defaultPath作爲鎖定attribut e是導致問題的原因。
因爲這是部署到共享環境,託管公司不願意修改applicationHost.config以刪除defaultPath上的鎖定 - 那麼有沒有什麼方法可以在不解鎖defaultPath屬性的情況下指定默認錯誤頁面?
如果有人知道爲什麼它默認鎖定,或者是非代碼解決方案,也會熱衷於找出:) –
默認情況下它被鎖定,因爲它在共享主機環境中解鎖會導致安全問題:這將是可能的任何人都可以通過defaultPath中的絕對路徑訪問其他用戶的私人文件。 –
@DimaStefantsov但是,如果allowAbsolutePathsWhenDelegated爲false,您可以使用絕對路徑嗎? –