标签: http-status-code-404

header('HTTP/1.0 404 Not Found'); 什么都不做

我在我的网站的主目录中有一个404.php文件,我使用header('Location: 404.php');了一段时间,直到有人说你应该使用header('HTTP/1.0 404 Not Found');.所以我用它替换它然后添加:ErrorDocument 404 /404.php到我的apache配置文件并重新启动服务器但它不起作用.

我尝试了不同的变化,包括ErrorDocument 404 404.phpErrorDocument 404 mywebite/404.php,但无济于事.

我的意思是不起作用是早些时候使用header('Location: 404.php');它将重定向到404.php文件,但当我用它替换header('HTTP/1.0 404 Not Found');它似乎只是跳过线而不做任何事情.它肯定不是重定向.我调用重定向的原因是因为如果无法识别$ _GET标头值,页面应为404.

php header http-status-code-404

50
推荐指数
4
解决办法
15万
查看次数

HTTP状态404 - 请求的资源(/)不可用

我在Eclipse中集成了Tomcat 7.当我使用Eclipse启动它时,它显示Tomcat已启动并正在运行,但是当我在浏览器中访问http:// localhost:8080时,它会出现以下错误:

HTTP状态404 - /

类型状态报告

消息 /

description请求的资源(/)不可用.

Apache Tomcat/7.0.23

我尝试更改端口server.xml以防万一其他服务使用8080,但它也不起作用.我该如何解决?

eclipse jsp tomcat http-status-code-404

50
推荐指数
6
解决办法
26万
查看次数

在单页面应用中,处理错误网址的正确方法是什么(404错误)?

我目前正在使用angularjs编写一个Web应用程序,但我认为这个问题适用于在客户端进行路由的任何客户端javascript框架(如角度所做).

在单页面应用中,处理错误网址的正确方法是什么?

查看几个主要网站,如果您在https://mail.google.com/mail/下面输入任意随机网址,我会看到Gmail会重定向到收件箱.这发生在服务器端(使用http 300代码)或客户端,具体取决于错误路径是在#字符之前还是之后.另一方面,twitter显示任何无效URL的真实HTTP 404.第三种选择是显示"软"404,纯粹的客户端错误页面.

这些解决方案似乎适合不同的情况.Twitter希望Twitter用户和推文的链接是真实的链接,因此人们可以分享它们,在新闻文章中发布它们等,因此无效链接被识别是非常重要的(如果我的推文链接断开了)我的网站,一个简单的爬行会告诉我).另一方面,在gmail中,您不应该将链接分享到您的收件箱中,我甚至不确定链接是否真的是永久性/持久性的:似乎网址更新主要用于浏览器历史记录导航的目的.单页应用.给出软错误的第三种方法可能适用于类似于gmail的情况,但是没有合理的"默认"页面.

经过这么长时间的介绍,这里有一些具体的问题:

  • 提供"软"错误页面而不是404错误是否可以接受,或者如果网址无效,单页应用是否应始终重定向到真实404?
  • Gmail的代码可能完全没有错误,但如果它确实存在导致无效链接最终重定向回收件箱的错误,那么对于用户而言可能比错误页面更加混乱.对于那里的大多数网络应用程序,它们没有像gmail那样经过良好测试,显示错误页面会更好吗?
  • 要为单页面应用程序实现真正的404,似乎有必要在服务器端复制路由逻辑.有没有办法解决?
  • 当重定向到404时,我认为用户应该能够看到导致错误的URL,可能在URL栏中.使用html5历史API,我认为这可以通过简单地触发当前页面的重新加载(使用错误的URL),结合上面提到的服务器端路由来实现.对于不支持此功能或使用hashbang表示法的浏览器,这似乎不可行.支持所有浏览器的最佳方式是什么?

javascript singlepage http-status-code-404 angularjs single-page-application

50
推荐指数
2
解决办法
9347
查看次数

从显式类型的ASP.NET Core API控制器(不是IActionResult)返回404

ASP.NET Core API控制器通常返回显式类型(默认情况下,如果您创建一个新项目),如下所示:

[Route("api/[controller]")]
public class ThingsController : Controller
{
    // GET api/things
    [HttpGet]
    public async Task<IEnumerable<Thing>> GetAsync()
    {
        //...
    }

    // GET api/things/5
    [HttpGet("{id}")]
    public async Task<Thing> GetAsync(int id)
    {
        Thing thingFromDB = await GetThingFromDBAsync();
        if(thingFromDB == null)
            return null; // This returns HTTP 204

        // Process thingFromDB, blah blah blah
        return thing;
    }

    // POST api/things
    [HttpPost]
    public void Post([FromBody]Thing thing)
    {
        //..
    }

    //... and so on...
}
Run Code Online (Sandbox Code Playgroud)

问题是return null;- 它返回HTTP 204:成功,没有内容.

然后,许多客户端Javascript组件将其视为成功,因此代码如下:

const …
Run Code Online (Sandbox Code Playgroud)

c# http-status-code-404 asp.net-core-mvc asp.net-core asp.net-core-webapi

50
推荐指数
4
解决办法
4万
查看次数

如何捕获所有路由来处理ASP.NET MVC的'404 page not found'查询?

是否有可能创建一个捕获所有的最终路由...并将用户弹回到ASP.NET MVC中的404视图?

注意:我不想在我的IIS设置中进行此设置.

asp.net-mvc routes http-status-code-404

49
推荐指数
3
解决办法
9万
查看次数

从WebAPI 2端点返回自定义HTTP状态代码

我正在使用WebAPI 2中的服务,端点当前返回一个IHttpActionResult.我想返回一个状态代码422,但因为它不在HttpStatusCode枚举中,所以我不知道如何发送它,因为所有的构造函数都需要一个参数HttpStatusCode

现在,我正在回归BadResult(message),但返回422+消息对我的客户来说会更具描述性和实用性.有任何想法吗?

c# http-status-code-404 asp.net-web-api

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

LESS文件无法加载(404)

我正在使用IIS 7.5,我无法加载较少的文件,因为它给出了404错误.

HTML:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Less Tutorial</title>
        <link rel="stylesheet/less" href="style.less" />
        <script src="less-1.0.41.min.js"></script>
    </head>
    <body>        
        <div id="container">
            <a href="#">My Anchor</a>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

减:

@primary_color: green;

#container {
    width: 200px;
    height: 200px;
    background: @primary_color;
}
Run Code Online (Sandbox Code Playgroud)

iis less http-status-code-404

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

AngularJS和处理404错误

使用AngularJS应用程序提供正确404的最佳方法是什么?

一点背景:我正在构建一个Angular应用程序,并选择使用

$locationProvider.html5Mode(true);
Run Code Online (Sandbox Code Playgroud)

因为我希望网址显得自然(并且与多页"传统"网络应用无法区分).

在服务器端(一个简单的Python Flask应用程序),我有一个全能的处理程序,可以将所有内容重定向到角度应用程序:

@app.route('/', defaults={'path': ''})
@app.route('/<path>')
def index(path):
    return make_response(open('Ang/templates/index.html').read())
Run Code Online (Sandbox Code Playgroud)

现在,我正在试图弄清楚如何处理404错误.我见过的大多数Angular应用程序都执行以下操作:

.otherwise({ redirectTo: '/' })
Run Code Online (Sandbox Code Playgroud)

这意味着他们无法提供适当的404.

但是,我更愿意返回一个正确的404,带有404状态代码(主要用于搜索引擎优化目的).

使用Angular处理404s的最佳方法是什么?我不应该担心它并坚持一个全能的?或者我应该删除catch-all并在服务器端提供正确的404?

编辑清楚

javascript flask http-status-code-404 angularjs angularjs-routing

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

Django staticfiles应用程序帮助

我对Django的staticfiles应用程序有一些小问题.

我已经添加了

'django.contrib.staticfiles',
Run Code Online (Sandbox Code Playgroud)

到我的INSTALLED_APPS并添加了

STATIC_URL = '/static/'
STATIC_ROOT = '/Users/kevdotbadger/django/mylook/static/'
Run Code Online (Sandbox Code Playgroud)

到我的settings.py档案.

我的所有静态文件都位于STATIC_ROOTMac上的文件夹中.

现在,在我使用的模板中

{{ STATIC_URL }}
Run Code Online (Sandbox Code Playgroud)

正确呈现的/static/.

然而

{{ STATIC_URL }}css/style.css
Run Code Online (Sandbox Code Playgroud)

导致404错误.我正在使用'runserver'命令作为服务器.

有什么我想念的吗?

python django static http-status-code-404

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

IIS7自定义404没有显示

使用Intergrated .net 4.0应用程序池创建了一个新的IIS7网站.

以.aspx结尾的网址会显示自定义404其他任何内容都会显示蓝色服务器错误页面"HTTP错误404.0 - 未找到您要查找的资源已被删除,名称已更改或暂时不可用." (所以与IE无关)

<customErrors redirectMode="ResponseRewrite" mode="On" defaultRedirect="/pages/404.aspx" />
</system.web>
<system.webServer>
    <httpErrors  >
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" prefixLanguageFilePath="" path="/pages/404.aspx" responseMode="ExecuteURL" />
    </httpErrors>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

也试过了

<httpErrors existingResponse="PassThrough" />
Run Code Online (Sandbox Code Playgroud)

但这只是导致空洞的回应.

我只找到了一个对执行appcmd来测试自定义http错误处理的有用性的引用,但这里是结果.

C:\Windows\System32\inetsrv>appcmd list config "http://mysite/file.notexist" -section:httpErrors

<system.webServer>
    <httpErrors>
        <error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="401.htm" />
        <error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="403.htm" />
        <error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="404.htm" />
        <error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="405.htm" />
        <error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="406.htm" />
        <error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="412.htm" />
        <error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custer …
Run Code Online (Sandbox Code Playgroud)

.net iis-7 http-status-code-404

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