织梦DEDECMS文章拼音命名规则去掉ID的方法
(图片来源网络,侵删)1. 问题描述
在织梦DEDECMS系统中,文章的URL默认是按照“年/月/日/ID.html”的规则来命名的,为了更好地进行SEO优化,我们希望能够将URL中的ID去掉,改为按照文章标题的拼音来命名。
2. 解决方案
要实现这个功能,我们需要修改织梦DEDECMS系统的文件,具体步骤如下:
2.1 修改数据库表结构
我们需要修改数据库中的数据表结构,将arctiny
表中的typedir
字段类型修改为varchar
,以便存储文章标题的拼音。
ALTER TABLEarctiny
MODIFY COLUMNtypedir
VARCHAR(255) NOT NULL;
2.2 修改文件
接下来,我们需要修改以下几个文件:
2.2.1 修改arc.listview.class.php
文件
找到arc.listview.class.php
文件,修改GetArcList
方法,将文章标题的拼音赋值给typedir
字段。
function GetArcList($row, $reid = 0) { $row = parent::GetArcList($row, $reid); if ($this>TypeLinkUrl != '') { $pinyin = new Pinyin(); foreach ($row as $k => $v) { $v[3]['typedir'] = $pinyin>getPinyin($v[3]['title']); } } return $row; }
2.2.2 修改arc.archives.class.php
文件
找到arc.archives.class.php
文件,修改GetArcInfo
方法,将文章标题的拼音赋值给typedir
字段。
function GetArcInfo($aid) { $row = parent::GetArcInfo($aid); if ($this>TypeLinkUrl != '') { $pinyin = new Pinyin(); $row['typedir'] = $pinyin>getPinyin($row['title']); } return $row; }
2.2.3 修改arc.arcurl.class.php
文件
找到arc.arcurl.class.php
文件,修改GetArcUrl
方法,将生成的URL中的ID去掉。
function GetArcUrl($aid, $page, $r, $addon) { $arcinfo = ArcArchives::GetArcInfo($aid); $typedir = $arcinfo['typedir']; $arcurl = $this>TypeLinkRul($typedir); $arcurl .= '/' . $arcinfo['dateline'] . '.html'; return $arcurl; }
2.3 更新缓存
完成以上修改后,需要更新系统的缓存,登录织梦后台,点击“更新缓存”按钮即可。
至此,我们已经成功地实现了在织梦DEDECMS系统中去掉文章URL中的ID,改为按照文章标题的拼音来命名。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。