404 页面显示页面名称

404 页面显示页面名称

我的网站运行良好;Google Cloud Platform VM 运行 Ubuntu 和 Apache2。嗯,除了一件事;我无法让 404 页面正常工作。我遵循了几个指南,并设法做了一些事情真的哑的。

这是 404 的结果:

404 错误文档

这是实际的 404 文档(的内容/404.html):

<!doctype html>
<head>
    <title>404</title>
</head>
<body>
<h1>404 :(</h1>
This page doesn't exist. Sorry!
<br><br>
You can <button onclick="history.back();">Go back</button>,
jump to the <a href="/">Site root</a>, or the <a href="/kcp">KCP root</a>.
</body>

我删除了我能找到的每个.htaccess文件和每一ErrorDocument ...行,试图恢复默认行为。

更新:找到错误的线路了,谢谢!

答案1

您看到的响应与ErrorDocument如下定义的 404 一致:

ErrorDocument 404 "404.html"

通过将第二个参数括在引号中,您可以将“错误文档”定义为一个简单的字符串。服务器仍然以 404 HTTP 状态代码响应。

而它应该是这样的:

ErrorDocument 404 /404.html

我删除了所有我能找到的.htaccess文件和每行ErrorDocument ...

如果您有权访问服务器配置,那么服务器配置将是执行此操作的更常见位置。在这种情况下,您需要重新启动服务器才能使任何更改生效。

或者,响应被缓存在服务器端/代理?


更新:如果您找不到设置的位置,那么(作为一种解决方法)您应该能够ErrorDocument正确地重新定义,.htaccess并且这将覆盖父.htaccess文件或服务器配置中的任何设置。(这提供- 或更大 - 在服务器配置中设置,首先AllowOverride FileInfo允许设置。)ErrorDocument.htaccess

相关内容