404 страницы, отображающие имя страницы

Мой сайт отлично работает; Виртуальная машина Google Cloud Platform под управлением Ubuntu и Apache2. Ну, кроме одного; Не могу заставить работать 404 страницы. Я следовал нескольким руководствам и сумел сделать что-то действительно глупое.

Это результат 404:

404 Error Document

Это настоящий документ 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
задан 15 October 2017 в 20:49
1 ответ

Ответ, который вы видите, соответствует определению 404 ErrorDocument следующим образом:

ErrorDocument 404 "404.html"

Заключая второй аргумент в кавычки, вы определяете «документ с ошибкой» как простая строка. Сервер по-прежнему отвечает кодом состояния HTTP 404.

Хотя это должно быть примерно так:

ErrorDocument 404 /404.html

Я удалил все .htaccess файл и все ErrorDocument ... строка, которую я могу найти

Если у вас есть доступ к конфигурации сервера, то конфигурация сервера будет более обычным местом для этого. В этом случае вам потребуется перезагрузить сервер, чтобы изменения вступили в силу.

Или ответ кэшируется на стороне сервера / прокси?


ОБНОВЛЕНИЕ: Если вы не можете найти, где это установлен, то (в качестве обходного пути) вы сможете правильно переопределить ErrorDocument в .htaccess , и это должно переопределить любые настройки в родительских файлах .htaccess или конфиг сервера. (Это при условии, что AllowOverride FileInfo - или больше - установлено в конфигурации сервера, разрешая настройку ErrorDocument в .htaccess в первую очередь.)

2
ответ дан 3 December 2019 в 20:19

Теги

Похожие вопросы