加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:45:13 所属栏目:asp.Net 来源:网络整理
导读:我正在为我的Web应用程序设置一个自定义的404错误页面。麻烦的是,此应用程序将部署到多个不同的环境中。有时它会在虚拟目录中,有时它不会。 我有一个名为ErrorPages的目录中的错误页面,并设置了我的配置,如下所示: httpErrors errorMode="Custom" exist
我正在为我的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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读