Назад | Перейти на главную страницу

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

Мой сайт отлично работает; Виртуальная машина Google Cloud Platform под управлением 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 ... строку, которую я могу найти, пытаясь восстановить поведение по умолчанию.

ОБНОВИТЬ: Нашел ошибочную строку, спасибо!

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

ErrorDocument 404 "404.html"

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

Тогда как должно быть примерно так:

ErrorDocument 404 /404.html

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

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

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


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