[英]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.