2012-08-29 59 views
5

在Wordpress中爲不良頁面創建自定義錯誤頁面,即找不到404 - 只需在主題目錄中創建404.php即可。WordPress的 - 如何添加一個自定義的500服務器錯誤頁面?

我想一個服務器錯誤做同樣的,如果說在我的WordPress網站CGI腳本做一些愚蠢像除以0

我嘗試創建我的主題目錄中的500.php頁面但它似乎被忽略。而是調用主題目錄中的404.php頁面。

看來,WordPress的莫名其妙捕獲服務器錯誤,並將其轉換成「未找到」錯誤,然後使用404.php

我怎樣才能讓WordPress的去一個不同的自定義頁面中的服務器錯誤的情況下(500),而不是一個簡單的網頁找不到(404)錯誤?

並且在告訴我在.htaccess文件中放入ErrorDocument 500/path-to-custom-error-page之類的東西之前,已經嘗試過 - 它被Web服務器忽略,可能是因爲RewriteRule指令在Wordpress使用相同的文件截取並處理所有請求(並且不,如果ErrorDocument指令位於Wordpress RewriteRule部分的上方或下方,則無關緊要)。

(注:我想我自己研究這個,但是搜索結果是由人抱怨越來越服務器錯誤與WordPress的污染,不問如何創建一個自定義的頁面來處理它們)

回答

4

的WordPress將永遠無法顯示服務器錯誤(500)的自定義錯誤頁面。您需要在WordPress之外創建.html或PHP頁面。你的主機可能已經有一些東西可以幫助你,許多人有一個文件夾,你可以把自定義錯誤頁面放到網站的根文件夾之外。

+0

如何在localhost上執行此操作? –

0

ErrorDocument 500 …應該在任何情況下工作如果路徑是正確的。關掉WordPress的重寫規則,產生一個500錯誤,Apache應該顯示/path-to-custom-error-page或者說它找不到它。

+0

在我看來,這隻能解決靜態的500頁。就我個人而言,我更喜歡聲明靜態(如果Apache和您正在使用的技術之間存在問題)和動態的(如果Apache和底層技術之間的通信很好,並且在處理該請求時遇到錯誤並想要顯示信息與該請求的上下文相關)。 – reallynice

+0

如何關閉Wordpress重寫規則?禁用永久鏈接? –

2

由於WP 3.0可以覆蓋wp_die()使用的標準錯誤頁面和wp_die_handler過濾器。

'wp_die' 和 'wp_die_handler' 位於wp-includes/functions.php

+1

這是[Gist](https://gist.github.com/nat-c/9da451931441e62588d6),適合需要某些東西作爲「指南」的人。 :) – Natalia

相關問題