asp.net – 在IIS7中设置自定义错误页面时是否可以使用相对路径?

前端之家收集整理的这篇文章主要介绍了asp.net – 在IIS7中设置自定义错误页面时是否可以使用相对路径?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为我的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部件需要删除。如果我在部署之前删除它,那么我需要在部署到VirtualDirectory时将其添加回来。有什么办法可以将路径设置为相对于VirtualDirectory而不是站点

我试过使用〜但是也不行,像这样:

<httpErrors errorMode="Custom" existingResponse="Replace">
     <remove statusCode="404"/>
     <error statusCode="404" path="~/ErrorPages/404.aspx" responseMode="ExecuteURL" />
   </httpErrors>
</system.webServer>

解决方法

您可以使用web.config转换来设置每个环境的路径:

web.config

<httpErrors errorMode="Custom" existingResponse="Replace">
     <remove statusCode="404"/>
     <error statusCode="404" path="/VirtualDir/ErrorPages/404.aspx" responseMode="ExecuteURL" />
   </httpErrors>

web.Release.config

<httpErrors>
     <error statusCode="404" path="/ErrorPages/404.aspx" esponseMode="ExecuteURL" />
   </httpErrors>

猜你在找的asp.Net相关文章