DeDeBIZ有生成静态TAG标签功能,默认却是动态+ID链接版,生成后还有N个目录版。

在上一篇《DeDeBIZ/DeDeV6:TAG标签改为拼音ID静态版》DeDeV6织梦教程中,我将DeDeBIZ的TAG标签改为拼音ID静态版。但是,有站长说,生成静态的占硬盘,我服务器相当强悍,我要做拼音伪静态版的。好的嘛,还是你会玩,下面再开始整教程。

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

TAG标签首页 http://你的网址.com/tags.html
TAG标签列表 http://你的网址.com/tags/zhimeng.html
TAG标签分页 http://你的网址.com/tags/zhimeng_2.html

教程开始

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

ALTER TABLE `#@__tagindex` ADD `filename` CHAR( 255 ) NOT NULL DEFAULT '';

2、对TAG标签表已有数据的拼音字段生成拼音

本地下载

放到网站根目录 运行 http://你的域名/pinyin.php

提示:如果,你的是新站,还没有新建过TAG标签的,不用下载这个生成拼音字段。

4、标签入库检测,打开 /system/helpers/archive.helper.php 搜索

function InsertOneTag($tag, $aid)

看到下面的

$tag = trim($tag);

改为

$tag = str_replace(array("*","\\","/","?","<", ">", "'",",","。", ":","\"", ";","|", "/*", "*",".", "../", "./"),
    array("", "","","","","", "", "", "", "","","", "", "", "","", "", ""),$tag);
$tag = trim($tag);

作用是处理特殊字符,以免生成TAG标签失败。还是这个文件,然后继续搜索

$tid = $dsql->GetLastID();

在它下面加入

$pinyin = GetPinyin($tag);
$shuzi = '';
$fnrow = $dsql->GetOne("SELECT id,filename FROM `#@__tagindex` WHERE filename LIKE '%$pinyin%' ORDER BY id DESC LIMIT 1");
if(is_array($fnrow))
{
	$strarr = str_split($fnrow['filename']);
	$strend = $strarr[count($strarr) - 1];
	$shuzi = is_numeric($strend) ? $strend+1 : 1;
}
$dsql->ExecuteNoneQuery("UPDATE `#@__tagindex` SET `filename`='{$pinyin}{$shuzi}' WHERE id='$tid' ");

5、打开 /apps/tags.php 搜索

$tag = FilterSearch(urldecode($tag));

在它上面加入

$tag = reset(explode("_", $tag));
$PageNo = stripos(GetCurUrl(), '.html') ? intval(str_replace('.html', '', end(explode("_", GetCurUrl())))) : 1;
$row = $dsql->GetOne("SELECT tag FROM `#@__tagindex` WHERE filename = '{$tag}' ORDER BY id DESC LIMIT 1");
if(is_array($row))
{
	$tag = $row['tag'];
}

6、打开 /system/taglib/tag.lib.php 翻到代码最底部 看到 55起到59行

if (isset($envs['makeTag']) && $envs['makeTag'] == 1 || $ishtml == 1) {
    $row['link'] = $cfg_cmsurl.$tagsdir."/".$row['id']."/";
} else {
    $row['link'] = $cfg_cmsurl."/apps/tags.php?/".$row['id']."/";
}

就是上面的这段代码,把它们改为

$row['link'] = $cfg_cmsurl."/tags/".$row['filename'].".html";

7、打开 /admin/templets/tags_main.htm 找到第57行

<?php echo $cfg_phpurl;?>/tags.php?/<?php echo $fields['id'];?>/

改为

/tags/<?php echo $fields['filename']; ?>.html

8、打开 /system/archive/taglist.class.php 搜索

该部分是隐藏区

登录后查看

该部分是隐藏区

伪静态规则

Nginx伪静态规则

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

Apache伪静态规则

RewriteEngine On
RewriteRule ^tags\.html$ apps/tags\.php
RewriteRule ^tags/(.*)_([0-9]+)\.html$ apps/tags\.php\?\/$1\/$2 [L]
RewriteRule ^tags/(.*)_([0-9]+)\.html$ apps/tags\.php\?\/$1\/$2\/ [L]
RewriteRule ^tags/(.*)\.html$ apps/tags\.php\?\/$1
RewriteRule ^tags/(.*)\.html$ apps/tags\.php\?\/$1\/

完成。

温馨提示

内容由用户共同创建和维护,并不代表织梦爱好者论坛立场!
建议您独自对内容进行评估,核实并咨询相关的专业人士!

点击登录

您尚未登录,请登录后查看。
如已经登录,请刷新当前页面。
与博客互通,请在《全民博客》登录
如已在博客登录,请刷新当前页面。

3 个回复 | 最后更新于 2024-07-17
snh102
2024-07-12  沙发

如果你在首页/列表页调用TAG,看示例写法

[field:id runphp=yes]
global $dsql,$cfg_cmsurl;
$tags = '';
$query = "SELECT l.tag,i.filename FROM `#@__taglist` l LEFT JOIN `#@__tagindex` i ON l.tid=i.id WHERE l.aid='@me' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
	$tags .= "<a href="{$cfg_cmsurl}/tags/{$row['filename']}.html">{$row['tag']}</a> ";
}
@me=$tags;
[/field:id]

织梦 tag_list.htm 模板获取当前TAG标签以及链接的写法,先用这个默认的试一下,如果不行再看下面的

<strong>当前位置:</strong>:<a href="{dede:global.cfg_basehost/}">主页</a> &gt; <a href='tags.php'>TAG标签</a> &gt; <a href="{dede:geturl runphp='yes'}@me = GetCurUrl();{/dede:geturl}">{dede:field.title /}</a>

获取当前TAG标签

{dede:field.title /}

获取当前TAG标签拼音的写法

{dede:field.title runphp=yes}
$title = @me;
$title = GetPinyin(stripslashes($title));
@me = $title;
{/dede:field.title}

获取当前TAG标签链接的写法

<a href='/tags/{dede:field.title runphp=yes}$title = @me;$title = GetPinyin(stripslashes($title));@me = $title;{/dede:field.title}.html'>{dede:field.title /}</a>

注意改为你的TAG标签链接地址

ruotee
2024-07-17  板凳

牛逼,发现个宝藏网站

snh102
2024-07-17  地板
回复2楼 @ruotee :

请多多关照呀

登录后方可回帖

snh102

织梦CMS网站404页面跳转到任意正常访问的文章

网站跳转出现404怎么办?肯定是想办法把蜘蛛圈住。下面,一起来看教程。 访问404页面时,跳转到某篇文章,蜘蛛遇到404页面时,随机跳转到某一篇正常的文章,这样就不会浪费任何一个蜘蛛。 教程开始 好...

织梦教程 织梦文档 随机文章 snh102 • 2024-09-08 • 最后回复来自 snh102
1
snh102

DeDeBIZ织梦站内搜索功能制作教程

站内搜索是网站缺一不可的功能,没有站内搜索的网站是不完善的。 下面,是织梦搜索功能制作教程。也许,和你想的不太一样,因我做的太过简单。 默认代码 一般在 widget_search.htm 模板中,看看,下面是默...

DeDeBIZ 织梦BIZ 织梦搜索 snh102 • 23 天前
snh102

DeDeBIZ织梦用SQL添加和删除数据库字段

在上一篇《 DeDeBIZ织梦用SQL创建和删除数据库表 》DeDeBIZ织梦教程中。 学习了,创建、删除数据库表,而这篇文章,将会讲解添加和删除数据库字段。 SQL添加 kanwo 字段 后台-系统设置-SQL命令工具-执行 什么?...

MySQL 织梦BIZ 织梦教程网 snh102 • 2024-07-25 • 最后回复来自 snh102
1
snh102

DeDeBIZ安装时空白的解决办法

整个DedeBIZ安装教程,安装DedeBIZ都能误导小白的,DedeV6织梦模板的安装使用方法。 什么?安装时空白?对的,没错,打开 /install/index.php 时,一片空白,不知所措。 原因是PHP版本太低,调到PHP7即可解决。下面...

织梦BIZ DeDeBIZ 织梦教程网 snh102 • 2024-07-23
snh102

DeDeCMS织梦安装UEditorPlus百度编辑器

UEditor Plus 是基于 UEditor 二次开发的富文本编辑器。 织梦CMS的《 织梦编辑器换为百度编辑器的教程 》又可以更新啦! 参考:安装教程看《 DeDeBIZ织梦安装UEditorPlus百度编辑器 》 下载后,只需打开 /ueditor-plu...

织梦开发 织梦编辑器 织梦CMS snh102 • 2024-07-14
snh102

DeDeBIZ织梦自动审核文档+织梦自动定时审核生成插件

织梦CMS定时审核生成织梦插件下载。实现挂机、定时、自动、审核、生成文档。 《 织梦自动发布和自动更新文章 》不能像它自动发布、自动更新文档的都不好用。 曾经春哥开发的,春哥开发的必属精品。织...

织梦插件 定时审核 自动更新 snh102 • 2024-07-16 • 最后回复来自 snh102
1
snh102

DeDeBIZ织梦更换鼠标滑动拼图验证码

有句话,不知当讲不当讲,但是我还是想说,被恶意刷垃圾留言,那绝对是不存在的呀。如果你被刷,那说明你的网站,做得还是不够安全呀! 下面,是本原创织梦教程,出自本织梦技术论坛,网上若有同款...

DeDeBIZ 织梦开发 织梦表单 snh102 • 29 天前 • 最后回复来自 ruotee
1
snh102

DeDeBIZ二级栏目导航高亮BUG修复教程

我没用新版,DeDeBIZ又有BUG了。一句简单的标签,都能整出问题来。解决办法如下; DeDeBIZ在channelartlist中嵌套channel时,子栏目currentstyle高亮无效的解决办法。 这个问题出在 /system/taglib/channel.lib.php 文件中,...

织梦标签 织梦栏目 织梦漏洞修复 snh102 • 22 天前
从白走到黑

织梦首页自动更新的实现方法

织梦网站实现每天自动更新首页,实现DeDeCMS织梦首页自动更新的方法。把织梦玩透了,像这种问题,完全没什么难度,而且还超级简单。 一、在根目录新建一个 index123.php 文件,代码如下 ?phprequire_once(dirna...

织梦教程 DeDeCMS 织梦CMS 从白走到黑 • 2024-03-12 • 最后回复来自 从白走到黑
1
snh102

织梦DeDeBIZ栏目列表分页首页与第一页重复的解决方法

在上一篇《 DeDeBIZ假伪静态短链优化织梦教程 》教程中,实现了织梦BIZ的高级玩法,但是由于列表页重复,不得不再次出一篇解决教程。 默认页的名称重复 前置条件: 当后台-系统设置-核心设置- 栏目生成目...

DeDeBIZ 织梦BIZ 织梦列表 snh102 • 2024-07-25
snh102

DeDeBIZ开发流量统计表增加蜘蛛统计

网站统计工具,蜘蛛统计工具,不如自己织梦后台增加个蜘蛛统计。 DeDeBIZ织梦得德就有流量统计表,增加蜘蛛统计也并不是什么难事。 展示效果 特别注意 本插件基于 Dedev6.3.2-develop开发版 测试的,如果你的...

DeDeBIZ 织梦BIZ 织梦开发 snh102 • 28 天前 • 最后回复来自 snh102
1
snh102

DeDeBIZ定时随机间隔发布TXT文档教程

懒人,总能有办法,懒出新高度。DeDeBIZ发布文章也是一样,使用发布TXT文档软件,和挂火车头发布有和区别,而且那个火车头是免费的,这间隔发布TXT文档软件是收费的。多开一个软件都费电、费事不说,居...

织梦BIZ DeDeV6 DeDeBIZ snh102 • 2024-03-18 • 最后回复来自 snh102
1
snh102

DeDeBIZ织梦修改data目录名的方法

最让人发笑的事情,莫过于村里才通网,亦或是使用的DeDeBIZ被DeDeCMS起诉。 在DeDeBIZ程序中,data缓存目录尚未改名。下面,小编教坛友把data目录改名了。 视频教程 看《 织梦CMS内容管理系统:最新织梦安全设...

DeDeBIZ DeDeV6 织梦BIZ snh102 • 2024-08-08
snh102

织梦二次开发实现会员免密码登录

什么?织梦网站前端,无需输入密码,就能直接进行登录。阔以的,下面,织梦论坛给大家整织梦实现教程。在 DeDeCMS、DeDeV6、DeDeBIZ等织梦系统中都适用。 教程开始 打开 /member/index_do.php 文件,搜索 elseif($...

织梦教程 织梦开发 DeDeCMS snh102 • 2024-06-18
snh102

XyPlayer 智能解析,导致域名被爆红的解决办法

使用 XyPlayer 智能解析,导致域名被拦截,你肯定很困扰吧! 下面是原因以及解决方法 : 拦截原因 :是所有人都能打开类似 http://你的网址/?index23210-0-1.htm 这样的链接。 解决办法 :不让人打开类似 http://你...

织梦教程 织梦教程网 snh102 • 2024-08-06
snh102

DeDeBIZ织梦系统当前位置的调用方法

在 DedeBIZ 织梦系统中,当前位置的调用标签有如下两种。 在首页、列表、内容页 {dede:field.position/} 或者 {dede:fieldname=position/} 它们的调用效果都一样。 搜索页当前位置 当前位置:ahref={dede:global.cfg_cmspath/}/{d...

DeDeBIZ 织梦BIZ 织梦教程网 snh102 • 2024-07-23
snh102

DedeCMS织梦网站被挂马的解决方法

织梦安全防护:织梦首页快照被挟持、被篡改被挂码、被入侵后解决办法。 之前说过《 DedeCMS织梦模板的正确使用方法 》可守护你的织梦网站安全。 啊看不懂,啊不会改,啊不会做,小作文太长了,那我就...

DeDeCMS 织梦CMS snh102 • 4 天前 • 最后回复来自 snh102
1
snh102

DeDeBIZ织梦安装UEditor百度编辑器

对于站长来说,网站编辑器很重要。 下面,介绍DeDeBIZ安装百度UEditor编辑器使用教程与使用方法。 百度编辑器精简版下载 本地下载 下载完成后,解压到网站根目录。 安装教程 打开 /system/inc/inc_fun_funAdmin.p...

织梦教程 织梦编辑器 DeDeV6 snh102 • 2024-07-12
snh102

把织梦安全做到极致的方法

昨天,群友怒斥织梦资源站的织梦模板很垃圾,一不小心就被篡改挂码了。那么,怎么做织梦安全,怎么把织梦程序安全做到极致,有的站长真的是烧香拜佛的求织梦教程。 下面,小编就把织梦安全做到极致...

织梦教程 织梦CMS DeDeCMS snh102 • 2024-05-20 • 最后回复来自 lxvoip
10
从白走到黑

织梦封面模板不支持dede:arclist的解决办法

织梦封面频道、织梦封面栏目、织梦封面页面,封面栏目模板,不支持dede:arclist标签调用,这就有点新奇了,下面直接上调用代码。 不支持调用 {dede:arclistrow=10orderby=pubdateidlist=}...省略代码{/dede:arclist} 这个调...

织梦教程 DeDeCMS 织梦CMS 从白走到黑 • 2024-03-10 • 最后回复来自 从白走到黑
1
Loading...