WordPress开启伪静态规则后,它不是全站都会根据伪静态规则而改变,比如固定连接是这样的模式/%post_id%.html文章页面都会是以.html结尾的,但是一些目录文件就不是了,这个格式输出的目录格式是………/tag/dede或者………/category/wp很多顾客都会觉得这样的连接不美观而且对SEO的效果不好,SEO这个东西说实话我不懂,就是有听说过搜索引擎更喜欢漂亮的链接,所以怎么样能让标签和分类目录都以.html结尾呢?实现这个功能是需要试用一些代码的,这个代码是小编在网上找的,然后自己测试成功了把它分享给大家,网上只有写怎么让标签页以.html结尾,但是经过修改,分类目录也是可以实现以.html结尾的,下面开始介绍这个方法的实现。
首先试用FTP工具把php虚拟主机里的.htaccess和主题下面的functions.php下载到本地,然后试用文本工具,先把functions.php打开,在里面添加下列的代码,这个是控制标签页的代码。
1 |
add_filter(
'body_class'
,
'twentyeleven_body_classes'
); |
2 |
// applied when calling get_tag_link() |
3 |
add_filter(
'tag_link'
,
'ludou_html_tag_link'
, 10, 2); |
6 |
* tag页链接转换,将 /tag/tag-name/ 转成 /tag/tag-name.html |
8 |
function
ludou_html_tag_link(
$tag_link
,
$tag_id
) { |
9 |
return
rtrim(
$tag_link
,
'/'
) .
'.html'
; |
添加好标签页的然后在添加下面的分类文章的代码。
1 |
// applied when calling get_category_link() |
2 |
add_filter(
'category_link'
,
'ludou_html_category_link'
,
10
,
2
); |
5 |
* category页链接转换,将 /category/category-name/ 转成 /category/category-name.html |
7 |
function
ludou_html_category_link($category_link, $category_id) { |
8 |
return
rtrim($category_link,
'/'
) .
'.html'
; |
其实两段代码格式都是一样的,其中的分别就是把tag换成了category,添加好这两段代码后把文件保存,然后打开.htaccess把下列的规则添加进去。
RewriteRule ^category/(.+)\.html$ /index.php?category=$1 [L]
RewriteRule ^category/(.+)\.html/page/([0-9]+)$ /index.php?category=$1&paged=$2 [L]
RewriteRule ^tag/(.+)\.html$ /index.php?tag=$1 [L]
RewriteRule ^tag/(.+)\.html/page/([0-9]+)$ /index.php?tag=$1&paged=$2 [L]
都添加完成以后上传会空间里,然后访问网站看看是不是成功了。
喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^