织梦tags标签页伪静态调用id
织梦tags伪静态调用id展示样式:/tags/id.html,织梦tags标签伪静态后有利于SEO优化,方便搜索引擎对全站内容的抓取和竞争网站长尾关键词的排名;简洁的tags标签URL不仅对搜索引擎友好,而且有助于改善网站的收录量,还可以改善用户体验。
织梦tags标签页伪静态调用id
- 在网站根目录下找到tags.php。打开找到$PageNo=1到exit();,如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20$PageNo = 1;
if(isset($_SERVER['QUERY_STRING']))
{
$tag = trim($_SERVER['QUERY_STRING']);
$tags = explode('/', $tag);
if(isset($tags[1])) $tag = $tags[1];
if(isset($tags[2])) $PageNo = intval($tags[2]);
}
else
{
$tag = '';
}
$tag = FilterSearch(urldecode($tag));
if($tag != addslashes($tag)) $tag = '';
if($tag == '') $dlist = new TagList($tag, 'tag.htm');
else $dlist = new TagList($tag, 'taglist.htm');
$dlist->Display();
exit();把以上代码替换成如下代码:
1
2
3
4
5
6
7
8
9
10
11
12$tagid = (isset($tagid) && is_numeric($tagid)) ? $tagid : 0;
$PageNo = (isset($PageNo) && is_numeric($PageNo)) ? $PageNo : 1;
if ($tagid =="0") {
$dlist = new TagList($tag, 'tag.htm');
$dlist->Display();}
else{$row = $dsql->GetOne("SELECT tag FROM `#@__tagindex` WHERE id ={$tagid}");
if (!is_array($row)) {ShowMsg('系统无此tag', '-1');
exit();}
$tag = FilterSearch($row['tag']);
$dlist = new TagList($tag, 'taglist.htm');
$dlist->Display();}
exit(); - 修改tag标签调用的URL,打开/include/taglib/tag.lib.php文件找到如下代码,并将其注释或者删除
1$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
换成如下代码:
1$row['link'] = "/tags/{$row['id']}.html"; - 修改tags标签分页代码。打开/include/arc.taglist.class.php,找到如下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18if($this->PageNo != 1)
{
$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li>\r\n";
$indexpage="<li><a href='".$purl."/1/'>首页</a></li>\r\n";
}
else
{
$indexpage="<li><a>首页</a></li>\r\n";
}
if($this->PageNo!=$totalpage && $totalpage>1)
{
$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li>\r\n";
$endpage="<li><a href='".$purl."/$totalpage/'>末页</a></li>\r\n";
}
else
{
$endpage="<li><a>末页</a></li>\r\n";
}将其替换为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19if($this->PageNo != 1)
{
$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li>\r\n";
$indexpage="<li><a href='".$purl."/1/'>首页</a></li>\r\n";
}
else
{
$indexpage="<li><a>首页</a></li>\r\n";
}
if($this->PageNo!=$totalpage && $totalpage>1)
{
$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li>\r
\n";
$endpage="<li><a href='".$purl."/$totalpage/'>末页</a></li>\r\n";
}
else
{
$endpage="<li><a>末页</a></li>\r\n"; } - 设置伪静态规则。
Apache服务器,在网站根目录建立一个 .htaccess文件,并把以下代码写入保存1
2
3
4RewriteEngine on
RewriteBase /
RewriteRule ^tags/([0-9]+)_([0-9]+).html$ tags.php?tagid=$1&PageNo=$2 [L]
RewriteRule ^tags/([0-9]+).html$ tags.php?tagid=$1 [L]宝塔Nginx服务器,在 宝塔管理后台》网站 》设置 》 伪静态 填入下列规则
1
2rewrite ^/tags/([0-9]+)_([0-9]+).html$ /tags.php?tagid=$1&PageNo=$2 last;
rewrite ^/tags/([0-9]+).html$ /tags.php?tagid=$1 last; - 最后到dedecms后台更新一下,至此已完成所有的设置。
注意:如果关键字tags中含有符号,可能会有如下提示,下一篇文章会解决该问题,系统无此标签,可能已经移除。解决方法是在根目录tags.php文件,找到代码,大概在25行1$tag = FilterSearch(urldecode($tag));直接替换成为
1$tag = urldecode($tag);
可能问题:标签中的大写字母,同样是修改目录tags.php文件,找到代码,大概在15行,
1 | $tag = trim($_SERVER['QUERY_STRING']); |
直接替换成为
1 | $tag = strtolower(trim($_SERVER['QUERY_STRING'])); |
至此实现织梦tag标签页id伪静态的效果。