我的网站运行得很好;Google平台VM运行Ubuntu和Apache2。好吧,除了一件事,我不能让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 ...行,试图恢复默认行为。
更新:找到了错误的行,谢谢!
发布于 2017-10-12 14:54:26
您所看到的响应与这样定义了404 ErrorDocument是一致的:
ErrorDocument 404 "404.html"通过在引号中围绕第二个参数,您可以将“错误文档”定义为一个简单的字符串。服务器仍然使用404 HTTP状态代码进行响应。
而应该是这样的:
ErrorDocument 404 /404.html我删除了所有的
.htaccess文件和我能找到的每一行ErrorDocument ...
如果您可以访问服务器配置,那么服务器配置将是比较常见的位置。在这种情况下,需要重新启动服务器才能使任何更改生效。
或者,响应是缓存服务器端/代理?
UPDATE:如果您找不到设置它的位置,那么(作为一种解决方法)您应该能够正确地在ErrorDocument中定义.htaccess,这应该覆盖父.htaccess文件或服务器配置中的任何设置。(这是在服务器配置中设置AllowOverride FileInfo (或更高版本),首先允许在.htaccess中设置ErrorDocument。)
https://serverfault.com/questions/878149
复制相似问题