在 WordPress 程式建築中,儘管你把固定連結設定成 /%postname%.html 這種靜態化格式,也只能對文章的 URL 新增 .html 字尾,其餘頁面、分類、標籤頁等的 URL 還是沒有 .html 字尾的。這裡我們介紹如何給 WordPress 網站的分類、頁面、標籤頁等 URL 新增 .html 字尾的方法。

1. 為頁面新增.html 

安裝:.html on PAGES 外掛。

2. 分類及頁面同時新增.html 字尾

安裝:.html in category and page url 外掛,啟用外掛後需要到外掛設定頁面儲存一下設定。

需要注意的是,啟用外掛後還需要到後臺固定連結設定中,重新儲存一下設定,否則會跳到 404 頁面,如果不成功可以先刪除空間根目錄的.htaccess 檔案,之後儲存會自動生成新的。另外,安裝外掛後可能會造成日誌分頁翻頁錯誤…..

3. 標籤新增.html 字尾方法

使用文字編輯器開啟當前主題目錄下的 functions.php,新增以下 php 程式碼:

// applied when calling get_tag_link()
add_filter(『tag_link』, 『wpyou_html_tag_link』, 10, 2);

/**
* Tag 標籤頁連結轉換,將 /tag/tag-name/ 轉成 /tag/tag-name.html
*/
function wpyou_html_tag_link($tag_link, $tag_id) {
return rtrim($tag_link, 『/』) . 『.html』;
}

新增 rewrite 規則

使用文字編輯器開啟部落格根目錄下的 .htaccess,也就是存放你的 WordPress 固定連結重寫規則的檔案。在 RewriteBase / 下一行新增以下程式碼:

RewriteRule ^tag/(.+).html$ /index.php?tag=$1 [L]
RewriteRule ^tag/(.+).html/page/([0-9]+)$ /index.php?tag=$1&paged=$2 [L]

需要注意的是,如果你的標籤頁 URL 不是以 tag 開頭,那麼你需要將以上程式碼中 tag 改成你的標籤字首。另外.htaccess 中不一定有 RewriteBase / 這一行程式碼,例如你將 WordPress 安裝在子目錄 wp,那麼這一行程式碼可能就是這樣 RewriteBase/wp/