Apache-2.2

404頁面顯示頁面名稱

  • October 15, 2017

我的網站執行良好;執行 Ubuntu 和 Apache2 的 Google Cloud Platform VM。好吧,除了一件事;我無法讓 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 ...行,試圖恢復預設行為。

**更新:**找到錯誤的行,謝謝!

您看到的響應與這樣定義 404 一致ErrorDocument

ErrorDocument 404 "404.html"

通過將第二個參數括在引號中,您可以將“錯誤文件”定義為一個簡單的字元串。伺服器仍在響應 404 HTTP 狀態程式碼。

而它應該是這樣的:

ErrorDocument 404 /404.html

我已經刪除了我能找到的每一個.htaccess文件和每一ErrorDocument ...

如果您有權訪問伺服器配置,那麼伺服器配置將是一個更常見的地方。在這種情況下,您需要重新啟動伺服器才能使任何更改生效。

或者,響應是記憶體的伺服器端/代理?


**更新:**如果您找不到設置的位置,那麼(作為一種解決方法)您應該能夠ErrorDocument正確重新定義.htaccess,這應該覆蓋父.htaccess文件或伺服器配置中的任何設置。(這是提供AllowOverride FileInfo- 或更大 - 在伺服器配置中設置,首先允許設置ErrorDocumentin .htaccess。)

引用自:https://serverfault.com/questions/878149