• 升级vip
  • 签到送金币
  • 全站模板:24243个
  • 织梦模板:1535|
  • 静态模板:5821|
  • ppt模板:6210|
  • 程序模板:643|
  • 代码素材:10449|
  • 会员:15826|
无忧织梦,用心做好源码!7年品牌,值得信赖! 织梦无忧,个个精品,宁缺毋滥!每月购买不少于3000元精品源码免费分享,早开通,早享受!终身会员临时大促,原298元的终身会员,现仅需98元!新会员开通,直接进入会员中心--购买会员--直接开通即可。
织梦TAG拼音伪静态的设置方法

织梦TAG拼音伪静态的设置方法

浏览次数:
作者: admin
信息来源:
更新日期: 2020-12-08 13:53
文章简介

无论你网站全站是静态或者动态还是伪静态,此教程都可以设置TAG标签页为伪静态,并且是单链接拼音的形式,按此教程操作后,电脑站TAG标签url会像如下: TAG标签首页 http://www.dedecms51.com/tags.html TAG标签列表 http://www.dedecms51.com/tags/dedecms5

  • 正文开始
  • 相关文章

无论你网站全站是静态或者动态还是伪静态,此教程都可以设置TAG标签页为伪静态,并且是单链接拼音的形式,按此教程操作后,电脑站TAG标签url会像如下:

TAG标签首页 http://www.dedecms51.com/tags.html

TAG标签列表 http://www.dedecms51.com/tags/dedecms51.html

TAG标签分页 http://www.dedecms51.com/tags/dedecms51_2.html

按此教程操作后,手机站TAG标签url会像如下:

TAG标签首页 http://m.dedecms51.com/tags.html

TAG标签列表 http://m.dedecms51.com/tags/dedecms51.html

TAG标签分页 http://m.dedecms51.com/tags/dedecms51_2.html

教程开始先说下我也是看了网上很多教程方法大致和这篇差不多,但是我实际操作下来发现TAG的分页有问题,有很大的问题,就我的实际操作把代码做了改正。

1、后台-系统-SQL命令行工具-执行

ALTER TABLE `dede_tagindex` ADD `filename` CHAR( 255 ) NOT NULL DEFAULT '';
2、对TAG标签表已有数据的拼音字段生成拼音,点击下面链接下载文件,根据自己程序编码,选择pinyin.php文件,放到网站根目录在浏览器上打开http://你的域名/pinyin.php,打开后文件会自动对已有的TAG标签生成拼音,完成即可,完成后删除这个文件以后添加文档或者TAG标签后不再需要执行它了,第3步是为了以后的TAG自动生成拼音。

TAG标签表已有标签生成拼音  (点击下载)

3、/include/helpers/archive.helper.php 找到
$tid = $dsql->GetLastID();

在它下面加入

$pinyin = GetPinyin($tag);
$shuzi = '';
$fnrow = $dsql->GetOne("SELECT id FROM `qm_tagindex` WHERE filename LIKE '$pinyin' ORDER BY id DESC LIMIT 1");
if(is_array($fnrow))
{ $strarr = str_split($pinyin); $strend = $strarr[count($strarr) - 1]; $shuzi = is_numeric($strend) ? $strend+1 : 1;
}
$upquery = "UPDATE `qm_tagindex` SET `filename`='{$pinyin}{$shuzi}' WHERE id='$tid' ";
$dsql->ExecuteNoneQuery($upquery);
  4、/tags.php 找到 25行
$tag = FilterSearch(urldecode($tag));

在它上面加入(注意是上面)


 
  1. $tag = reset(explode("_", $tag));
  2. $PageNo = stripos(GetCurUrl(), '.html') ? intval(str_replace('.html', '', end(explode("_", GetCurUrl())))) : 1;
  3. $row = $dsql->GetOne("SELECT tag FROM `qm_tagindex` WHERE filename = '$tag' ORDER BY id DESC LIMIT 1");
  4. if(is_array($row))
  5. { $tag = $row['tag']; define('DEDERETAG', 'Y');
  6. }

5、/include/taglib/tag.lib.php 找到 87行


 
  1. $row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

改成


 
  1. $row['link'] = $cfg_cmsurl."/tags/".GetPinyin($row['tag']).".html";

6、/include/arc.taglist.class.php 找到 121行


 
  1. $this->PageNo = $GLOBALS['PageNo'];

在它下面加入


 
  1. if($this->PageNo == 0)
  2. { $this->PageNo = 1;
  3. }

继续找到


 
  1. $purl .= "?/".urlencode($this->Tag);

改成


 
  1. if(!defined('DEDERETAG'))
  2. { $purl .= "?/".urlencode($this->Tag);
  3. }
  4. else
  5. { $purl = $cfg_cmsurl."/tags/".GetPinyin($this->Tag);
  6. }

继续找到


 
  1. return $plist;

在它上面加入


 
  1. if(defined('DEDERETAG'))
  2. { $plist = str_replace('.html', '', $plist); $plist = preg_replace("//(d+)//i",'_.html',$plist); $plist = preg_replace("/PageNo=(d+)/i",'_.html',$plist);
  3. }

接着再找到“获得上一页和下一页的链接”改以下两处代码(注释掉的代码换成下一行的代码):


 
  1. //获得上一页和下一页的链接
  2. if($this->PageNo != 1)
  3. {
  4. //$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li> ";
  5. $prepage.="<li><a href='".$purl."_$prepagenum.html'>上一页</a></li> ";
  6. //$indexpage="<li><a href='".$purl."/1/'>首页</a></li> ";
  7. $indexpage="<li><a href='".$purl."_1.html'>首页</a></li> ";
  8. }
  9. else
  10. {
  11. $indexpage="<li><a>首页</a></li> ";
  12. }
  13. if($this->PageNo!=$totalpage && $totalpage>1)
  14. {
  15. //$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li> ";
  16. $nextpage.="<li><a href='".$purl."_$nextpagenum.html'>下一页</a></li> ";
  17. //$endpage="<li><a href='".$purl."/$totalpage/'>末页</a></li> ";
  18. $endpage="<li><a href='".$purl."_$totalpage.html'>末页</a></li> ";
  19. }
  20. else

紧接着下面找到“//获得数字链接”在下面的代码找到下面代码中注释掉的部分替换成注释行下面一行的代码


 
  1. for($j; $j<=$total_list; $j++)
  2. {
  3. if($j == $this->PageNo)
  4. {
  5. $listdd.= "<li class="thisclass"><a>$j</a></li> ";
  6. }
  7. else
  8. {
  9. //$listdd.="<li><a href='".$purl."/$j/'>".$j."</a></li> ";
  10. $listdd.="<li><a href='".$purl."_$j.html'>".$j."</a></li> ";
  11. }
  12. }

如需后台TAG标签管理里的TAG链接点击打开也是伪静态可这样改

打开 /dede/templets/tags_main.htm 找到 89行


 
  1. <a href="../tags.php?/<?php echo urlencode($fields['tag']); ?>/" target="_blank">{dede:field.tag /}</a>

改成


 
  1. <a href="../tags/<?php echo GetPinyin($fields['tag']); ?>.html" target="_blank">{dede:field.tag /}</a>

7、电脑站TAG标签伪静态规则,根据自己网站的主机环境选择下面的规则

.htaccess (Apache)


 
  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^tags.html$ tags.php
  4. RewriteRule ^tags/(.*)_([0-9]+).html$ tags.php?/$1/$2 [L]
  5. RewriteRule ^tags/(.*)_([0-9]+).html$ tags.php?/$1/$2/ [L]
  6. RewriteRule ^tags/(.*).html$ tags.php?/$1
  7. RewriteRule ^tags/(.*).html$ tags.php?/$1/

Nginx


 
  1. rewrite ^/tags.html$ /tags.php;
  2. rewrite ^/tags/(.*)-([0-9]+).html$ /tags.php?/$1/$2;
  3. rewrite ^/tags/(.*).html$ /tags.php?/$1;


web.config (iis7 iis8)

<rule name="tag首页"> <match url="^tags.html$" ignoreCase="false" /> <action type="Rewrite" url="tags.php" appendQueryString="false" /> </rule> <rule name="tag列表分页"> <match url="^tags/(.*)_([0-9]+).html$" ignoreCase="false" /> <action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" /> </rule> <rule name="tag列表分页最后有左斜杠"> <match url="^tags/(.*)_([0-9]+).html$" ignoreCase="false" /> <action type="Rewrite" url="/tags.php?/{R:1}/{R:2}/" appendQueryString="false" /> </rule> <rule name="tag列表"> <match url="^tags/(.*).html$" ignoreCase="false" /> <action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" /> </rule> <rule name="tag列表最后有左斜杠"> <match url="^tags/(.*).html$" ignoreCase="false" /> <action type="Rewrite" url="/tags.php?/{R:1}/" appendQueryString="false" /> </rule>

 

 

转载请注明:织梦TAG拼音伪静态的设置方法

版权声明:本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

上一篇:织梦发布文章时,TAG标签无法保存的解决办法
下一篇:QQ第三方登录-QQ互联开发者申请
上一篇:织梦发布文章时,TAG标签无法保存的解决办法 下一篇:QQ第三方登录-QQ互联开发者申请
  • 织梦用ajax提交自定义表单的办
    154阅读评论()0个赞
    织梦不跳转用ajax提交自定义表单的最新方法亲测可用 1、引入jquery库 织梦自定义表单调用代码代码: form action="/plus/diy.php" enctype="multipart/form-data" method="post" input type="hidden" name="action" value="post" / input type="hidden" name...
  • dedecms织梦手机端搜索页面跳
    154阅读评论()0个赞
    使用dedecms最新程序移动版的童鞋如果遇到,手机版搜索结果跳转到的是电脑版搜索结果页面去; 解决办法有很多种,常见的就两种方法: 一是:plus建立个独立的搜索php,搜索运行到手机搜索模板 点击进入 二是:根据手机搜搜加一句判断就可以。 移动版模板搜索...
  • 织梦发布文章时,TAG标签无法
    154阅读评论()0个赞
    今天做了个 dede tag 伪静态。当前新闻中心,添加tag,只能保存一个,进入数据库 修改的后,发现,不能保存tag了。 织梦无忧仔细研究了下,进入数据库表,认真对比了一下。原因如下: 1 之前动过tag数据库表,数据库长度限制 2 数据库表的tag长度和php控制的...
  • dede 织梦 实现 channel标签的
    154阅读评论()0个赞
    我们知道文章调用支持autoindex 但channel 不支持,那如何支持呢? 在include/taglib/channel.lib.php 第140行之后加一句 $linkOkstr = str_replace(~autoindex~,$GLOBALS[autoindex],$linkOkstr); 下面是例句: {dede:channel type=top currentstyle=li id=...
  • 织梦dedecms的{dede:productim
    154阅读评论()0个赞
    {dede:productimagelist}织梦图集标签给img添加alt属性时默认要调用的是注释(即:[field:text/]),可是为了节省时间和劳动力,不想给每张图片都填写注释而是想直接调用标题,也就是想用[field:title/]标签,试了下,结果不行,最后通过源代码的修改,终于...
  • 如何去掉dede织梦默认的登录页
    154阅读评论()0个赞
    今天打开电脑,登录织梦的管理后台,发现,一大片广告,连控制面板都遮挡了。 一直以来,感觉织梦开源,也不容易,顺带点广告吧。也从来不做去除广告的教程,但是是,织梦做的有点过分了。 广告打开如下图: 其实广告很简单。 首先打开默认织梦的dede目录就是...
最近更新作品
织梦dede网络工作室免费模板下载
更新时间: 05-10

1289 人已经看过了!

响应式仪器分析仪化工医疗器材网
更新时间: 02-03

1094 人已经看过了!

营销型灭火器消防器材机械设备类
更新时间: 03-25

890 人已经看过了!

织梦自定义字段搜索查询证书授权
更新时间: 10-28

834 人已经看过了!

响应式环保污水处理设备机械设备
更新时间: 02-15

765 人已经看过了!

简洁保理理财金融等公司dede织梦
更新时间: 01-15

684 人已经看过了!

最新资讯