首页 新闻 会员 周边 捐助

mvc3 请求一个不存在的页面.却返回了200的状态码.求解~~

0
[待解决问题]

如图:我已经在根目录的web.config和view/web.config下都添加了 customErrors 404的捕捉,但是我随便输入一个不存在的页面.返回了200状态码.导致页面显示空白,无法跳转到错误页面,且我在路由处设置的断点都没有进去.感觉在IIS上就直接返回200了.程序都没有执行

白了头发就是代价的主页 白了头发就是代价 | 初学一级 | 园豆:7
提问于:2015-02-13 11:30
< >
分享
所有回答(1)
0

那么返回的页面是你提供的自定义错误页吗?

你最好打开 IIS,在其中看看对错误处理的配置

Launcher | 园豆:45050 (高人七级) | 2015-02-13 11:34

是的.设定 404 是跳转到我们的自定义提示页面的.

@白了头发就是代价: 你打开 IIS,在你的网站上找到“错误页”的配置,把你的页面添加进去

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2015-02-13 11:43

@Launcher: 谢谢,我之前也这样子做过.但是还是一样,没有跳转.因为页面返回的是200 访问正常的http状态码.可能就导致它不会去做404的操作了?

@白了头发就是代价: 你那个配置是这样的吧:

<error statusCode="404" redirect="404.htm"/>

我告诉你,当出现 404 的时候,会先返回 302(redirect),然后再请求 404.htm,这时候会返回 200,因为 404.htm 是存在的,所以你看到的最终状态码是 200。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2015-02-13 11:47

@Launcher: 那我应该怎么配置呢?

@白了头发就是代价: 配置文件中是这样的:

<httpErrors errorMode="Custom">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" path="error.htm" responseMode="File" />
</httpErrors>

界面操作就是你截图对应的那条记录,点击“编辑”,然后选择“将静态文件中的内容插入错误响应中”,然后在“文件路径”中输入你自己的错误页相对路径;最后,在“错误页”界面的“操作”中找到“编辑功能设置”,然后选择“自定义错误页”。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2015-02-13 13:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册