有网友给我留言,希望tag标签页的URL后面自动加html,比如 www.abc.com/tag/1,变成www.abc.com/tag/1.html。这可能是出于某种原因SEO但我认为这样做没有意义。
实现这一目标的方法相对简单,但标签页是存档页,需要分页。分页后的链接形式是tag/1.html/page/2,无法实现.html为了结束,虽然我什么都不知道SEO,但是我觉得这个链接不好看。昨晚,我整晚都没有找到任何好的方法来解决这个问题。让我们在这里谈谈不完美的方法,但这里需要解释的是,首先WP必须使用固定链接。
一、链接转换代码
使用文本编辑器打开当前主题目录functions.php,添加以下php代码:
// applied when calling get_tag_link()add_filter('tag_link', 'ludou_html_tag_link', 10, 2);/** * tag转换页链接,将 /tag/tag-name/ 转成 /tag/tag-name.html */function ludou_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/
三、参考内容
WordPress Permalinks: Remove tag base and add the .html extension