簡體   English   中英

重定向到主目錄中的自定義404頁面

[英]Redirecting to custom 404 page in home directory

我無法將404(錯誤的url請求)重定向到我開發並上傳到服務器的404頁面(404.php)。

該服務器在/ blog子文件夾中安裝了Wordpress,所有404都已重定向到wordpress博客的404頁面。 我已經在.htaccess中設置了重定向,但無法正常工作。

ErrorDocument 404 /404.php

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

如何覆蓋呢?

據我了解, 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有它自己的生命周期 ,所以使用.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模板

我通過將這段代碼粘貼到我的wordpress主題的header.php文件頂部來實現此目的

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

現在,根/主站點404頁面已加載,而不是按預期加載了wordpress博客的404頁面。 :)

首先,請確保404.php位於正確的位置,並且http://www.example.com/404.php正常運行。

如果404.php和.htaccess都存在於同一根文件夾中,請嘗試更改.htaccess文件中的以下行

錯誤文檔404 /404.php

ErrorDocument 404 /root/404.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM