为 wordpress 分类、页面和标签页固定链接添加.html 后缀

2018-08-1122:58:16 发表评论 699 人看过
为 wordpress 分类、页面和标签页固定链接添加.html 后缀

大家可能都知道,通过设置固定链接格式,可将 wordpress 日志 URL 设置成伪静态的形式。

同样通过之前介绍的::Custom Post Type Permalinks插件,可以将自定义文章类型 URL 设置成伪静态,那么分类、页面及标签如何设置为伪静态呢?

这个问题已经有人为我们解决了,以固定链接格式/%postname%.html 为例

单独为页面添加.html 后缀

安装.html on PAGES 插件实现,启用插件后无需任何设置;

分类及页面同时添加.html 后缀

安装:.html in category and page url 插件,启用插件后需要到插件设置页面保存一下设置。

需要注意的是,启用插件后还需要到后台固定链接设置中,重新保存一下设置,否则会跳转到 404 页面,如果不成功可以先删除空间根目录的.htaccess 文件,之后保存会自动生成新的。

另外,安装插件后可能会造成日志分页翻页错误……

标签页添加.html 后缀

想让 tag 标签页的 URL 后面自动家 html,如何 www.abc.com/1,变成 www.abc.com/1.html。实现这个目的方法还是比较简单的,只是标签页是存档也,需要分页,分页后的链接形式为 tag/1.html/page/2,就无法实现以.html 为结尾,虽然我不懂什么 SEO,但是我觉得这样的链接不好看。昨晚为了这个问题弄了一个晚上也没找到什么好的方法,这里就讲讲不太完美的方法吧。不过这里要说明的是,首先你的 WP 的使用固定链接。

1、链接转换代码

使用文本编辑器打开当前主题目录下的 functions.php,添加以下 php 代码:

  1. // applied when calling get_tag_link()
  2. add_filter('tag_link', 'ludou_html_tag_link', 10, 2);
  3. /**
  4.  * tag 页链接转换,将 /tag/tag-name/ 转成 /tag/tag-name.html
  5.  */
  6. function ludou_html_tag_link($tag_link$tag_id) {
  7.     return rtrim($tag_link, '/') . '.html';
  8. }

2、添加 rewrite 规则

使用文本编辑器打开博客根目录下的.htaccess,也就是存放你的 WordPress 固定链接重写规则的文件。在 RewriteBase/下一行添加以下代码:

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

需要注意的是,如果你的标签页 URL 不是以 tag 开头,那么你需要将以上代码中的 tag 改成你的标签前缀。另外.htaccess 中不一定有 RewriteBase/这一行代码,例如你将 wordpress 安装在子目录 wp,那么这一行代码可能就是这样 RewriteBase/wp/。

参考:

知更鸟《为 wordpress 分类、页面和标签页固定链接添加.html 后缀》

露兜博客《WordPress 标签页固定连接以.html 结尾》

weinxin
博客小程序【一起行动派】
欢迎访问行动派博客小程序,小程序和博客同步更新,查看内容更加方便!
Action

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: