标签: http-status-code-404

在IIS7中,我在哪里捕获并处理maxAllowedContentLength?

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

<location path="foo.aspx">
    <system.web>
        <!-- maxRequestLength: kbytes, executionTimeout:seconds -->
        <httpRuntime maxRequestLength="10240" executionTimeout="120" />
        <authorization>
            <allow roles="customRole"/>
            <!-- Deny everyone else -->
            <deny users="*"/>
        </authorization>
    </system.web>
    <system.webServer>
        <security>
            <requestFiltering>
                <!-- maxAllowedContentLength: bytes -->
                <requestLimits maxAllowedContentLength="10240000"/>
            </requestFiltering>
        </security>
        <handlers accessPolicy="Read, Script">
            <add name="foo" path="foo.aspx" verb="POST"
               type="System.Web.UI.PageHandlerFactory"
               preCondition="integratedMode" />
        </handlers>       
    </system.webServer>
</location>
Run Code Online (Sandbox Code Playgroud)

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

我的第一个想法是检查早期事件中的标题内容长度 - 是否有建议/最佳实践我在哪里这样做?PostLogRequest?EndRequest?

iis-7 web-config httpapplication http-status-code-404

13
推荐指数
1
解决办法
1万
查看次数

当主题被删除时,我应该使用404 Not found还是410 Gone for a bulletin board system?

我正在创建一个公告板系统,现在我正在为管理员实现一个"删除主题"功能.如果有人打开已删除的主题,服务器找不到它,所以它必须是404.另一方面,主题已经存在,所以我必须使用410.实现410将需要一个名为deleted_topics的新表,所以会需要更多空间.但是,410我觉得搜索引擎更好.你怎么看?我应该使用404还是410?

404未找到

服务器未找到与Request-URI匹配的任何内容.没有说明该病症是暂时的还是永久性的.如果服务器通过一些内部可配置的机制知道旧资源永久不可用且没有转发地址,则应该使用410(Gone)状态代码.当服务器不希望确切地说明请求被拒绝的原因,或者没有其他响应适用时,通常会使用此状态代码.

410已经走了

请求的资源在服务器上不再可用,并且不知道转发地址.预计这种情况将被视为永久性的.具有链接编辑功能的客户端应该在用户批准后删除对Request-URI的引用.如果服务器不知道或无法确定条件是否是永久性的,则应该使用状态代码404(未找到).除非另有说明,否则该响应是可缓存的.

410响应主要用于通过通知接收方资源是故意不可用的以及服务器所有者希望移除到该资源的远程链接来辅助web维护的任务.这种事件对于限时,促销服务以及属于不再在服务器站点工作的个人的资源是常见的.没有必要将所有永久不可用的资源标记为"已消失"或将标记保留任何时间长度 - 这由服务器所有者自行决定.

谢谢,

seo http http-status-codes http-status-code-404 http-status-code-410

13
推荐指数
1
解决办法
3853
查看次数

Tomcat在所有新部署的WAR文件上报告404错误?

我通过将文件复制到目录中将WAR文件部署到$ TOMCAT_HOME/webapps中,就像我之前已经完成了一千次一样.Tomcat检测到WAR并使其膨胀.我可以在命令行(它是Fedora)遍历我服务器上的目录树.

但是,当我在客户端计算机的浏览器中处理webapp时,我得到的只是404错误.这发生在完全独立的WAR的最后两次部署中.

第一个是替换现有的WAR.我首先删除了WAR及其膨胀目录,然后复制到WAR中充气...... 404.我再次删除了所有内容,从备份中放回了以前工作的WAR.它膨胀并起作用.

第二个是一个全新的,从未部署过的WAR ...只有404.

其他WAR正在运行,但现在我害怕改变任何东西,直到我知道发生了什么.有线索吗?


编辑:在我的评论中,您可以看到Tomcat部署WAR后,日志中包含"SEVERE:Error listenerStart".没有报告堆栈跟踪或其他错误.


Edit2:原来第二个WAR正在寻找ELResolver并找不到它.这被埋在localhost日志文件中.

java tomcat war http-status-code-404

13
推荐指数
1
解决办法
1万
查看次数

在django测试运行期间避免在404上发出警告?

刚升级到Django 1.3.我每次检查给定的URL是404时,我的测试套件现在都会显示一堆无用的警告.它在Django 1.2下没有这样做.

例如,假设我们有连接的视图和URL,以便此测试通过:

def test_foo(self):
    response = self.client.get('/foo/bar/')
    self.assertEqual(response.status_code, 200)
    response = self.client.get('/foo/bar2/')
    self.assertEqual(response.status_code, 404)
Run Code Online (Sandbox Code Playgroud)

虽然测试通过,但404(我们期望)会触发对控制台的警告:

.WARNING not Found:/ foo/bar2 /

这只是无用的噪音; 我目前的一个测试套件中有大约30个.

有没有办法在测试期间让那些人沉默?我想在正常操作期间让它们保持开启状态.而且我认为我不想过滤掉'django.request'记录器中的所有警告.

testing django logging http-status-code-404

13
推荐指数
3
解决办法
2071
查看次数

在CodeIgniter中显示404错误的视图

CodeIgniter有一个非常简单的默认错误404消息:

404 Page Not Found
The page you requested was not found.
Run Code Online (Sandbox Code Playgroud)

我没有在完全空白页面上使用此错误消息,而是将此消息包装在我的页眉和页脚视图之间,以便错误消息与其他页面具有相似的外观.

为此,我创建了一个错误视图?例如:

my404_view.php

<? $this->load->view('header'); ?>
404 Page Not Found
The page you requested was not found.
<? $this->load->view('footer'); ?>
Run Code Online (Sandbox Code Playgroud)

现在,我如何使用它my404_view.php作为默认视图来显示404消息,而不是使用CodeIgniter默认错误消息.

php codeigniter http-status-code-404

13
推荐指数
1
解决办法
2万
查看次数

favicon.ico找不到错误?

我有一个在Tomcat上运行Spring Security 3的应用程序.我没有为我的网站定义任何favicon但是当我sometimes从登录页面登录后从IDE运行我的应用程序时,它将我的页面重定向到:

http://localhost:8080/favicon.ico
Run Code Online (Sandbox Code Playgroud)

并说:

404 Not Found
Run Code Online (Sandbox Code Playgroud)

这里有一个主题:http://forum.springsource.org/showthread.php? 100901-redirect-to-favicon.ico但是我没有定义一个favicon.ico Spring Security 3默认是否需要它(如果是的话) ,为什么有时会发生?)

favicon spring-security http-status-code-404 web

13
推荐指数
1
解决办法
5万
查看次数

当页面存在时,facebook共享链接返回404重定向错误

在Facebook中共享以下链接返回404错误页面信息,而不是页面详细信息和链接,即使该页面存在:

http://www.kentbusinessangel.co.uk/lucky-achieve-goals?sq=be-excited&src=fb

要尝试修复错误:

  • 我尝试编码链接以启用传递&和?正确(没有用)
  • 我创建了一个从http://www.kentbusinessangel.co.uk/lucky-achieve-goals-be-excited/src-fb到原始网址的重定向(当你在浏览器中使用网址时,它可以正常工作,但仍然只显示在Facebook上分享时出现404错误)
  • 我在http://www.kentbusinessangel.co.uk/lucky-achieve-goal/fb/be-excited创建了一个静态页面(此页面同样在浏览器中工作,但facebook也为此页面显示错误404!)
  • 我等了一天,希望facebook可能需要时间再刮一页(他的问题还在继续)
  • 我将元标记添加到新的静态页面,并使规范匹配此页面的URL以防万一它会有所帮助(但它仍然显示Facebook上的404重定向错误共享):
<meta property="og:title" content="13 Lucky Steps to Achieve Your Goals - Be Excited">
<meta property="og:description" content="Get 13 lucky steps to achieve your goals! - Be Excited">
<meta property="og:image" content="../../images/numbers/circles/one.png">
<link rel="canonical" href="http://www.kentbusinessangel.co.uk/lucky-achieve-goal/fb/be-excited">
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么从我的404错误页面获取Facebook共享信息而不是共享的URL以及我如何解决它?

编辑:发布此问题后,原始链接http://www.kentbusinessangel.co.uk/lucky-achieve-goals?sq=be-excited&src=fb在facebook上分享!---但是,通过同一动态页面设置的其他页面仍然无法正常工作,我在上述步骤中创建的其他链接也不起作用

http://www.kentbusinessangel.co.uk/lucky-achieve-goals?sq=effort&src=fb

编辑2:如果在这里发布第二个链接会神奇地通过Facebook分享工作也会很好 - 但没有快乐 - *困惑*

任何有关这方面的帮助将不胜感激

编辑3:好的,原始链接回到了不在共享区域以及其他链接上工作 - 所以回到原点 -

固定!!似乎facebook在出现重定向错误时抓取了页面,从那时起就没有重新打开它们.
将它们放入delinter:developers.facebook.com/tools/debug重新打开页面并检索正确的信息!这样做之后,这些页面的新共享链接也起作用了!(这么简单:s)

redirect share facebook hyperlink http-status-code-404

13
推荐指数
2
解决办法
2万
查看次数

Symfony 2 - 加载Web调试工具栏时出错(404:Not Found)

自从更新到symfony 2.2以来,app_dev.php中不再加载Web调试工具栏.

我收到以下错误:

An error occurred while loading the web debug toolbar (404: Not Found).
Do you want to open the profiler?
Run Code Online (Sandbox Code Playgroud)

在prod.log中,我得到以下内容:

request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /_profiler/84fb75cc3ffd5435474ebe4250e01fac2cdf49c1"" at /httpdocs/project/app/cache/prod/classes.php line 3597 [] []

request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /_wdt/452d5b4aa2dd9388285fa1c286d5c54218029c71"" at /httpdocs/priject/app/cache/prod/classes.php line 3597 [] []
Run Code Online (Sandbox Code Playgroud)

我已多次清除缓存:)

有趣的是,在/app_dev.php中,页面上的所有链接都不再链接到/app_dev.php.

包括配置文件(/ _profiler/5fdc27cb82c4e9e426b3ab27377deb0b760fdca2),当我手动修改网址,并将app_dev.php添加到网址时,探查器正确加载.

routing_dev.yml:

_assetic:
    resource: .
    type:     assetic

_wdt:
    resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
    prefix:   /_wdt

_profiler:
    resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
    prefix:   /_profiler

_configurator:
    resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" …
Run Code Online (Sandbox Code Playgroud)

routing toolbar http-status-code-404 symfony

13
推荐指数
3
解决办法
2万
查看次数

在IIS上托管的Angular 2:HTTP错误404

我有一个简单的应用程序,其中一个组件需要来自url的某些参数.应用程序中只有一条路线:

const appRoutes: Routes = 
                       path: 'hero/:userId/:languageId',component: HeroWidgetComponent }];
Run Code Online (Sandbox Code Playgroud)

在Index.html中,我在标题中有这个 <base href="/">

我正在使用webpack,并且在浏览url时,应用程序在开发环境中运行良好:http://localhost:4000/hero/1/1.

但是,在构建用于生产的应用程序并获取分发文件时,请在IIS上托管该应用程序.尝试浏览同一个网址时出现以下错误:

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Run Code Online (Sandbox Code Playgroud)

如果我删除所有路由并只http:localhost:4200在IIS上浏览:该应用程序工作正常.

iis http-status-code-404 angular2-routing angular

13
推荐指数
3
解决办法
1万
查看次数

在静态网站中本地检查死链接(使用wget?)

检查死链接的非常好的工具(例如指向404错误的链接)是wget --spider.但是,我有一个稍微不同的用例,我生成一个静态网站,并希望在上传之前检查损坏的链接.更确切地说,我想检查两者:

  • 相关链接就像 <a href="some/file.pdf">file.pdf</a>

  • 绝对链接,最有可能是外部网站<a href="http://example.com">example</a>.

我试过wget --spyder --force-html -i file-to-check.html,它读取本地文件,将其视为HTML并跟随每个链接.不幸的是,它无法处理本地HTML文件中的相对链接(错误输出Cannot resolve incomplete link some/file.pdf).我试过使用file://wget不支持它.

目前,我有一个基于运行本地Web服务器python3 http.serve并通过HTTP检查本地文件的hack :

python3 -m http.server &
pid=$! 
sleep .5
error=0
wget --spider -nd -nv -H -r -l 1 http://localhost:8000/index.html || error=$? 
kill $pid
wait $pid
exit $error
Run Code Online (Sandbox Code Playgroud)

由于以下几个原因,我对此并不满意:

  • 我需要这个sleep .5等待网络服务器准备好.如果没有它,脚本会失败,但我无法保证0.5秒就足够了.我更愿意wget在服务器准备就绪时启动命令.

  • 相反,这kill $pid感觉很难看.

理想情况下,python3 -m http.server可以选择在服务器就绪时运行命令,并在命令完成后自行关闭.通过编写一些Python听起来可行,但我想知道是否存在更清晰的解决方案.

我错过了什么吗?有更好的解决方案吗?我wget在我的问题中提到它因为它几乎完全符合我的要求,但使用wget并不是我的要求(也不是python …

python wget hyperlink http-status-code-404

13
推荐指数
1
解决办法
364
查看次数