在 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/