我正在尝试为我的 Web 应用程序设置自定义 404 错误页面。问题是这个应用程序将被部署到许多不同的环境中。有时它会在虚拟目录中,有时则不会。
我在一个名为 ErrorPages 的目录中有错误页面,并设置了我的配置,如下所示:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404"/>
<error statusCode="404" path="/VirtualDir/ErrorPages/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
问题是当我将它部署到网站的根目录时,/VirtualDir
需要删除该部分。如果我在部署之前将其删除,那么我需要在部署到虚拟目录时将其重新添加。有什么方法可以将路径设置为相对于虚拟目录而不是站点?
我尝试过使用 a ~
,但这也不起作用,如下所示:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404"/>
<error statusCode="404" path="~/ErrorPages/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>