2015-11-05 72 views
1

我無法將404(不正確的url請求)重定向到我開發並上載到服務器的404頁面(404.php)。重定向到主目錄中的自定義404頁面

服務器具有在子文件夾/博客WordPress的安裝和所有的404被重定向至WordPress博客的404錯誤頁面。我在.htaccess中設置了重定向,但不起作用。

ErrorDocument 404 /404.php 

這是我在.htaccess中添加的內容,但它仍然重定向到博客的404而不是根目錄下的404頁面。

我該如何重寫?

回答

0

首先確保404.php存在於正確的位置,http://www.example.com/404.php工作正常。

如果兩個404.php和htaccess的是存在於相同的根文件夾,然後嘗試改變下面的行中.htaccess文件

的ErrorDocument 404 /404.php

的ErrorDocument 404 /root/404.php

1

在我的理解ErrorDocument 404 /404.php只會工作,如果你沒有指定重寫規則.htaccess如:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

因爲wordpress有自己的life cycle,它使用.htaccess中的URL重寫來確定哪個頁面請求即將到來。 WordPress擁有理解當前請求的核心機制。例如,您創建了一個頁面名稱hello-word,當您轉到http://your_wordpress.com/hello-word wordpress從URL中確定hello-world並在其數據庫中查找是否有hello-word頁面。如果當前頁面不存在於數據庫中,則機制自動調用位於當前活動主題中的主題404模板。

解決方案

wp-content/themes/YOUR-THEME/404.php創建一個文件,並改變它的內容。你不需要在.htaccess指定ErrorDocument 404 /404.php。瞭解更多如何創建404模板here

+0

好的。但我有一個不同的模板和根目錄中的不同網站。我不希望它重定向到wordpress 404。有沒有什麼方法可以覆蓋.htaccess中的wordpress重定向? – AeJey

1

我通過我的wordpress主題的header.php文件

if (is_404()) { 
     wp_redirect('../404.php'); 
     exit; 
    } 

的頂部粘貼代碼來實現它,現在根/主站點404頁是越來越加載,而不是wordpress博客的404頁面如預期的那樣。 :)

相關問題