當你看到這個標題的時候,你也許會有兩個疑問:
1 、為什麼要自己定義一個 404 頁面呢,WordPress 的模板不是自帶 404.php 來處理不存在的頁面了嗎?我想說的是,這種 404 頁面確實方便,但當你的網站做的時間長了,很有可能會出現大量的 404 頁面,比如以前是做一個資訊類的網站,當改版成 WordPress 部落格之後,就會出現大量的 404 頁面,而搜尋引擎則會繼續訪問這些不存在的頁面,這樣增加了伺服器的負擔,而使用 htaccess 自定義一個靜態的 404 頁面,則可以解決這個問題。
2 、使用 htaccess 自定義 WordPress 404 頁面那還不簡單,直接在 htaccess 檔案增加程式碼 ErrorDocument 404 /404.html,然後新建一個 404.html 檔案上傳到根目錄就 OK 了。但是這種方法並不可行,因為預設的重寫規則是把所有的請求指向 index.php 指令碼,當然也包括不存在的頁面,如果直接新增常規的 404 頁面設定程式碼,不會起任何效果的。說了這麼多,相信你已經明白為什麼要為 WordPress 自定義一個 404 頁面了。
下面我們來介紹如何自定義 404 頁面。
1 、第一步當然是製造一個 404.html 檔案,並上傳到網站根目錄
2 、刪除原來的重寫規則檔案 htaccess,新增下面如下規則。
|
# BEGIN WordPress ErrorDocument 404 /404.html RewriteEngine On RewriteBase / RewriteRule ^archives/.*$ /index.php [L] RewriteRule ^feed.*$ /index.php [L] RewriteRule ^page/.*$ /index.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # END WordPress |
archives 是文章的 url 格式,如/archives/88,可以根據自己實際的文章 url 修改。如果你的部落格是安裝在 WordPress 目錄,則必須在後面增加 RewriteRule ^WordPress/.*$ /index.php [L] 。