dedecms 如何修改定制 url 链接
发布于 作者:苏南大叔 来源:程序如此灵动~
dedecms经过了动态化,伪静态处理后,就可以解决大多数的需求了。不过,还是会有网友觉得dedecms的链接不够美观。所以,还是会希望能够自定义常见的url链接。那么本文中,苏南大叔就说的是:dede伪静态之后,如何再美化一下dedecms的链接。这里提前说明的是:dede的定制url链接的结果,也并不是完美的。
期待的url变化如下
本文的测试环境是dedecms5.7 sp2。期待的变化列表如下:
| 实际的url | 期待的url |
|---|---|
| /plus/list-1-1.html | /category/list-1-1.html |
| /plus/list.php?tid=1 | /category/list-1-1.html |
| /plus/view-1-1.html | /archives/view-1-1.html |
| /tags.php?/测试/1/ | /tags/测试/1.html |
模版缓存的文件夹是:/data/tplcache/*。更新系统缓存的地址url:/dede/sys_cache_up.php。
栏目列表页面
修改的是导航栏内的栏目链接和“更多”字样的栏目链接地址。文件是:
/include/helpers/channelunit.helper.phpline232:
$reurl = "/category/list-".$typeid.".html";/include/arc.listview.class.phpline 1200,增加一行代码。
$plist = str_replace('plus', 'category', $plist);文章页链接
/include/helpers/channelunit.helper.phpline165:
return "/archives/view-".$aid.'-1.html';/include/arc.archives.class.phpline945,line961,增加下面一行代码:
$PageList = str_replace('plus', 'archives', $PageList);标签tag
/include/taglib/tag.lib.phpline87,修改如下:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";搜索页链接
依次打开include文件夹下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找search.php?替换为search.html?即可。
nginx 规则
nginx的规则做一些更新,如下:
location / {
index index.php index.html index.htm;
rewrite "^/index.html$" /index.php last;
rewrite ^/category/list-([0-9]+)\.html$ /plus/list.php?tid=$1;
rewrite ^/category/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3;
rewrite ^/archives/view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1;
rewrite ^/archives/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2;
rewrite "^/tags/$" /tags.php last;
rewrite "^/tags/(.*)/$" /tags.php?/$1/ last;
rewrite "^/search.html?(.*)/$" /search.php?$1 last;
}总结
本文中的修改,就仅仅是作为示意。具体的,大家想把链接改成什么,就请根据自己的需求进行修改。千万不能复制粘贴之后,然后就跳出来说不能用。每句话是什么意思,有什么用,请大家搞清楚之后再进行修改。
更多dede的文章,请点击:苏南大叔的dedecms经验文章。





