问题标签 [http-status-code-404]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11897 浏览

iis-7 - 我在哪里捕获和处理 IIS7 中超出的 maxAllowedContentLength?

我有一个 aspx 页面,允许用户上传文件,并且我想将最大文件上传大小限制为 10MB。IIS7、.NET 3.5。我在 web.config 文件中配置了以下内容:

我有一个自定义错误处理模块,它实现IHttpModule. 我发现当maxRequestLength超过时,HttpApplication.Error确实会提高。但是,当我玩 时maxAllowedContentLengthHttpApplication.Error不会引发事件,并且用户会被重定向到 404.13 页面。我已经附加了 Visual Studio,第一次机会异常打开,没有抛出任何异常。

我的第一个想法是在较早的事件中检查标题内容长度——是否有关于我在哪里执行此操作的建议/最佳实践?PostLogRequest?结束请求?

0 投票
2 回答
8863 浏览

apache - 如何告诉 Apache 忽略/阻止 404 错误并重定向到处理程序页面?

这个概念

所以,我已经用每个人都喜欢的自己的内容管理系统(CMS)制作(实际上升级了)这个网站。与大多数 CMS 一样,默认行为是带有丑陋且完全无用的 url 的访问页面,如下所示:

所以我们的想法是改变它,这样我们就可以拥有“真实”的 URL,这些 URL 不仅看起来更好,而且有望与 Google 搜索引擎更好地协作。改变真的没有那么难:

  1. 通过 Apache 看到没有具有相应 URL 的页面,并使用 ErrorDocument 404 /redirect.php 重定向到 /redirect.php
  2. redirect.php 剥离 URL 并在数据库中找到它的条目。
  3. redirect.php 从页面条目中回显 HTML 数据。

因为所有页面都是在分层结构中创建的(根据 CMS),所以查找页面只需逐个子项搜索数据库,直到找到最后一个。这样一来,诸如 URL 之类的 URLwww.mysite.edu/me/something/useful会调出一个条目,该条目useful是. 所有页面 HTML 都存储在数据库中,因此一旦找到条目,通过 PHP 将其回显到页面是一件简单的事情。somethingme

旁注:我实际上创建了一个新表,它存储每个页面的完整 URL 并将其链接到它pageid,因此搜索过程得到了很大改进,而总体思路保持不变。

问题

在客户端,一切都运行得非常好。然而,我注意到谷歌还没有索引我们网站的很多(任何)。基本上,在我重新设计它之前,它已经在某种程度上被索引了,现在索引剩下的就是那些 URL 保持不变的文件。

我终于(今天)从 Google Webmaster Tools 获得了一些数据,显示它在我们的 sitemap.xml 中列出的页面上不断出现 404 错误,但是,当我点击链接时,页面就正常了。这让我相信,虽然重定向运行良好,但 Apache 仍在发送一条Status: 404消息,可能会提示 Google 的机器人停止处理和/或不索引页面。

问题

所以考虑到这一切,问题是这样的:

  1. 有没有办法首先确认 Apache 仍在发送Status: 404消息?
    • 回答:是的!
  2. 有没有办法让它在仍然重定向到 /redirect.php 的同时停止

提前致谢!

编辑 1: 感谢 alex 向我介绍了 firebug 中的 Net 选项卡。由于我非常喜欢和使用 firebug,我相信这个新功能在以后会派上用场(阅读:目前正在研究它可以做的其他事情)。感谢您的帖子,我已经能够确认Status: 404确实是需要解决的正确问题。现在的问题具体是如何禁用 Apache 发送此错误并在需要时简单地重定向页面。

根据要求,这是我文件中的一些代码示例。关于配置文件需要注意的一件事是,我在 Debian Etch 上运行并通过“ apt-get install apache2 mysql-server php5”安装,因此它们分散了一点,而列出的文件的片段是我认为唯一对此有影响的文件问题。由于它是一个大文件(669 行),如果您想查看更多内容,请告诉我哪些部分有用,我将包含它。

/etc/apache2/apache2.conf

/etc/apache2/apache2.conf- 空白文件

/www-root/redirector.php

0 投票
1 回答
155 浏览

jquery - jQuery1.3.2 的位显示为 404

我刚开始在我的一个网站上使用 jQuery 1.3.2 - 主要是 DOM 的东西,但有一点点 ajax。我的日志记录显示来自我保存 jQuery 文件的文件夹的一致 404,触发错误的“页面”结果是 jQuery 文件的片段:

  • ){F.html(E?o(
  • ]||!o.suppo
  • rt.html序列化&&[1,

我已经搜索了我的网站以寻找 js 错误,但我没有找到任何错误。但是谷歌搜索这些返回什么(但 jQuery 文件)。

有任何想法吗?

谢谢,

科里

0 投票
1 回答
362 浏览

asp.net-mvc - 图像上的 ASP.NET MVC 未处理异常?

当我浏览我的网站时,我无法复制异常......但我通过我的事件记录器发现了这一点(当发生未处理的异常时,它会通过电子邮件发送给我的手机)。

这是一个例外:

找不到路径“/Content/UsrImg/ImageFileName.jpg”的控制器,或者它没有实现 IController。

我认为发生的事情是谷歌(或者可能是代理服务器)缓存的图像不再存在。当试图直接转到该图像时,它会加载我写的“找不到页面”友好错误。

但是它应该在 404 错误上引发未处理的异常吗?对我来说似乎有点奇怪。也许我可以在路由中做些什么来解决这个问题?

0 投票
1 回答
679 浏览

asp.net - 在自定义 404 错误页面中获取失败的 url

是否可以从自定义 404 错误页面获取失败请求的 URL?我正在使用 IIS 将自定义错误页面设置为要处理失败请求的 .net 页面。

我尝试使用请求对象中的 url 和 referer 属性,但它们不起作用。

0 投票
1 回答
2018 浏览

asp.net - 在文件下载 HTTP 处理程序中处理 404 的最佳方法?

我有一个网格,它为用户提供了一些下载文件的链接。文件存储在应用程序之外,路径引用从数据库中读取,并且 HTTP 处理程序 (*.ashx) 用于为每个请求的文件提供服务。但是,可能存在指向不存在文件的数据库条目。我抓住了FileNotFoundException,但我不确定通知用户丢失文件的最佳方法是什么(以便他们可以联系支持)。

第一个想法是在响应上设置一个标准的 404 代码,这就是我现在正在做的事情。

更有用的方法是显示有关丢失文件的通知 (jQuery),但文件下载不是在 AJAX 中完成的,因此这将涉及两步过程 - 客户端 onclick 处理程序调用 Web 服务方法来检查是否该文件存在,如果不存在,那么我取消单击(返回 false)并向用户显示一条友好消息。但是,如果文件存在,我将继续正常执行。但这又增加了另一个服务器调用。

你有没有处理过类似的问题?你是怎么解决的?

一些说明 - 该应用程序是在 ASP.NET 2.0 中构建的,并使用 jQuery 来调用 Web 服务方法。

0 投票
4 回答
270 浏览

linux - 301 所有 404 到主页

有谁知道做到这一点的最佳方法?阿帕奇,tomcat,Linux

0 投票
19 回答
153742 浏览

asp.net-mvc - 如何正确处理 ASP.NET MVC 中的 404?

我正在使用 RC2

使用 URL 路由:

上面似乎处理了这样的请求(假设默认路由表由初始 MVC 项目设置):“/blah/blah/blah/blah”

在控制器本身中覆盖 HandleUnknownAction():

然而,之前的策略不处理对 Bad/Unknown 控制器的请求。例如,我没有“/IDoNotExist”,如果我请求这个,我会从 Web 服务器获得通用 404 页面,如果我使用路由 + 覆盖,则不是我的 404。

所以最后,我的问题是: 有没有办法在 MVC 框架本身中使用路由或其他东西来捕获这种类型的请求?

或者我是否应该默认使用 Web.Config customErrors 作为我的 404 处理程序而忘记这一切?我假设如果我使用 customErrors,由于 Web.Config 对直接访问的限制,我将不得不将通用 404 页面存储在 /Views 之外。

0 投票
9 回答
62374 浏览

asp.net - 在 ASP.NET 中实现 404 的最佳方法

我正在尝试确定在标准 ASP.NET Web 应用程序中实现 404 页面的最佳方式。我目前在 Global.asax 文件中的 Application_Error 事件中捕获 404 错误并重定向到友好的 404.aspx 页面。问题是请求看到 302 重定向,然后是 404 页面丢失。有没有办法绕过重定向并立即响应包含友好错误消息的 404?

如果对不存在页面的请求返回 302 后跟 404,Googlebot 等网络爬虫是否关心?

0 投票
3 回答
682 浏览

ruby-on-rails - 通过固定链接查找项目,如果找不到,则为 404

我更改了我的显示控制器以通过他们的永久链接而不是他们的 id 来查找记录(为了 SEO 多汁)。

但是,如果我输入 localhost:3000/projects/foo (并且没有带有 foo 永久链接的项目),我会收到 500 服务器错误,而不是 404 未找到。

为什么会这样,我该如何解决?