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

2018-08-1122:58:16 发表评论 453 阅读
为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结尾》

发表评论

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