织梦DEDECMS分页修改和美化

2017-04-13 14:28:39 dedecms

DEDE默认分类分页地址存在不同URL相同内容问题,导致内容重复,对优化非常不利。情况如下分页列表:

<li><a href='list_4_1.html'>主页</a></li> 

<li><a href='list_4_3.html'>上一页</a></li> 

<li><a href='list_4_1.html'>1</a></li> 

<li><a href='list_4_2.html'>2</a></li> 

<li><a href='list_4_3.html'>3</a></li> 

<li>

<a href='list_4_4.html'>

4

</a>

</li> 

<li><a href='list_4_5.html'>5</a></li> 

<li><a href='list_4_5.html'>下一页</a></li> 

<li><a href='list_4_5.html'>末页</a></li> 

 

解决思路 让分页地址"主页"、"1"与分类页地址一样 如果是老站,搜索引擎已收录了重复的list_4_1.html页面,则301到主页或删除。效果如下图:

<li><a href="/xc/">主页</a></li> 

<li><a href="xc-3.html">上一页</a></li> 

<li><a href="/xc/">1</a></li> 

<li><a href="xc-2.html">2</a></li> 

<li><a href="xc-3.html">3</a></li> 

<li>4</li> 

<li><a href="xc-5.html">5</a></li> 

<li><a href="xc-6.html">6</a></li> 

<li><a href='xc-5.html'>下一页</a></li> 

<li><a href='xc-6.html'>末页</a></li> 

 

解决办法 1,找到\include\arc.listview.class.php这个文件,将

$typedir= ereg_replace('{cmspath}',$GLOBALS['cfg_cmspath'],$this->Fields['typedir']); 

 

这段代码添加到"//获得上一页和主页的链接"前面; 2,找到下面几行代码(就在"//获得上一页和主页的链接"下面)

if($this->PageNo != 1) 

$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n"; 

$indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>主页</a></li>\r\n"; 

}

 

改成:

if($this->PageNo != 1) 

if($prepagenum==1) 

$prepage.="<li><a href=\"".$typedir."/\">上一页</a></li>\r\n"; 

else 

$prepage.="<li><a href=\"".str_replace("{page}",$prepagenum,$tnamerule)."\">上一页</a></li>\r\n"; 

$indexpage="<li><a href=\"".$typedir."/\">主页</a></li>\r\n"; 

}

 

3.找到

$listdd.="<li><a href=’".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n"; 

 

改成:

if($j==1) 

$listdd.="<li><a href=\"".$typedir."/\">".$j."</a></li>\r\n"; 

else 

$listdd.="<li><a href=\"".str_replace("{page}",$j,$tnamerule)."\">".$j."</a></li>\r\n"; 

}

 

好了,只需3步,大功告成了。 如果是老站点,搜索引擎已经收录了类似’list_1_1.html’这样的页面的话,您可以通过301转到主页,如果是虚机不能修改,那就删除了。