织梦系统全站伪静态配置操作过程

启伪静态的前提条件

保证你的空间或服务器支持伪静态即URL重写
开启DedeCms伪静态

开启伪静态的方法:后台--》系统--》核心设置 找到:是否使用伪静态: 选择是 确定保存。

栏目和文章发布设置
栏目列表选项: 选择使用动态页 发布选项: 选择仅动态浏览
DEDECMS全站伪静态方法

首页伪静态

把站点根目录下index.html删除,以后不更新主页HTML即可,当然你也可以选择不使用动态首页。
频道、列表、文章伪静态
主要通过修改GetFileName()、GetTypeUrl()这两个函数实现。DedeCms V5.3、DedeCms V5.5和DedeCms V5.6版本,打开/include/channelunit.func.php进行修改。注意:DedeCms V5.7,此文件路径更改了,你打开/include/helpers/channelunit.helper.php即可。
a.将GetFileName()中的如下代码:  //动态文章

 代码如下 复制代码
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}

替换为  //动态文章

 代码如下 复制代码
if($cfg_rewrite == 'Y')
{
return "/archives/view-".$aid.'-1.html';
}

将文章页默认的  /plus/view-1-1.html
链接格式改为  /archives/view-1-1.html

这个随个人喜欢,不作更改也行。
b.将GetTypeUrl()中的如下代码:  //动态

 代码如下 复制代码
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

替换为  //动态

 代码如下 复制代码
$reurl = "/category/list-".$typeid.".html";

这步必须修改,即让你的频道或是列表页URL变更为/category/list-1.html形式。
列表分页伪静态
打开/include/arc.listview.class.php,找到获取动态的分页列表GetPageListDM()函数末尾处: 

 代码如下 复制代码
$plist = str_replace('.php?tid=', '-', $plist);

替换为

 代码如下 复制代码
 $plist = str_replace('plus', 'category', $plist);

将默认的plus替换成 

 代码如下 复制代码
category$plist = str_replace('.php?tid=', '-', $plist);

将列表分页默认链接格式  /plus/list-1-2-1.html
修改为  /category/list-1-2-1.html
这步也可以不作更改。
DEDECMS文章分页伪静态
打开/include/arc.archives.class.php,找到获取动态的分页列表GetPagebreakDM()函数末尾处: 

 代码如下 复制代码
$PageList = str_replace(".php?aid=","-",$PageList);

替换为

 代码如下 复制代码
 $plist = str_replace('plus', 'archives', $plist);

将默认的plus替换成 

 代码如下 复制代码
archives$PageList = str_replace(".php?aid=","-",$PageList);

这步不作修改也可以,只是个人喜好问题。
TAG标签伪静态
DedeCms默认的TAG标签URL,形如/tags.php?/dedecms5.7/,非常之难看。打开/include/taglib/tag.lib.php,找到lib_tag()函数下的: 

 代码如下 复制代码
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

替换为 

 代码如下 复制代码
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";

到这里,TAG标签URL中的“.php?”号就去掉了。
搜索伪静态
DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。小拼就偷下懒,将搜索URL中“search.php?…”直接替换为“search.html?…”,至于“?”号之后的参数以任意字符进行匹配。

依次打开include文件夹下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找“search.php?”替换为“search.html?”即可。

小提示,个人觉得dedecms本身就没打算让用户可设置伪静态功能,所以感觉一般人要修改起来还是很复杂的

时间: 2024-11-05 22:54:21

织梦系统全站伪静态配置操作过程的相关文章

以某医院网站为例讲解织梦系统的站内优化

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 最近入职临沂某医院,由于其网站均被百度降权,所以做了一个新站.做新站是出于几点考虑:第一,降权的医院类网站很难恢复权重;第二,网站近期有过改版,site发现百度收录很混乱.因为之前没有太接触织梦系统,所以在做站内优化时还是学到了很多东西,好东西不能独享,所以分享出来,供新手参考. 第一.网站目录的优化 我新做的站是用了旧站的数据,为了避免和原

关于织梦系统模板开发应用的经验

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 今天简单说说对织梦系统(dedecms)模板应用的经验: 我估计刚接触dede的朋友都会和我一样,一心想着弄一套非常漂亮的模板,来展示自己网站的"正规和强大",那么从我的经历来看,其实这种想法和思路是错的. 我刚开始用用dede的时候就是总想着做一套自己的特色模板,要漂亮.要实用.要功能,但时间和水平却证明我的想法完全是错

修改dedecms 织梦系统 生成静态页面栏目缓存文件路径

修改dedecms 织梦系统 生成静态页面栏目缓存文件路径 由于dedecms 生成频道栏目,要生成一个临时mkall_cache_{adminid}.php教程文件,这对网站做安全会有一定的影响,特别我现在是把我整个网站限制不能上传php,js文件,为了方便起见,今天我就来拿我修改过程记录下来与各位分享吧. 首页我们找到dedecms  的后台管理上当默认是在dede/目录. 找到文件: makehtml_all.php 找到73行, 将 //$mkcachefile = DEDEROOT."

win2003iis主机设置301转向DEDE织梦系统管用

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 为了减少权重分散,需要将不带www的网站跳转到带www的网站,需要做301转向.本站是搭建在win2003iis虚拟主机中的,向IDC服务商询问过服务器是支持伪静态,于是站长就开始捣腾301转向,终于皇天不负有心人.下面站长贴301跳转的设置方法: 这里常州高大上建站用的是织梦模板,需要修改wwwroot文件夹里的index.php文件,如下

织梦Dedecms设置伪静态具体方法

首先在dede后台开启伪静态(开启的方法在系统参数-核心设置) 第一步. 首先栏目和文章最好设置成动态浏览. 这样才不会生成静态html文件. 第二步. 设置重写规则. 在系统目录下加一个 .htaccess文件. 内容为:  代码如下 复制代码 RewriteEngine On RewriteRule ^plus/list-([0-9]+).html$ /plus/list.php?tid=$1 RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)

织梦系统首页调用指定分类栏目内容

方法  代码如下 复制代码 {dede:channelArtlist typeid=1,2,3 col=1} 这里面的typeid=你所要调用的ID号,中间中,隔开!

织梦系统栏目及子栏目调用友情连接的方法

1.后台-核心-网站栏目管理,记录栏目名称和栏目ID. 2.后台-模块-友情链接-网站类型管理,编辑网站类型,使网站类型名称.ID与栏目名称.ID保持一致. 3.在所在的栏目模板中,写入如下代码:  代码如下 复制代码 dede:sql sql="select url,webname from dede_flink where id = (select id from dede_flinktype where typename=~typename~)" }<a href=&quo

织梦系统中文章自动插入关键字和相关链接实现方法

 代码如下 复制代码 //关键字和相关文章插入开始     $open_mytag=1;//1为开启,0为关闭     if($open_mytag){         if($keywords){             $mykeyword = explode(',',$keywords);             $body = SpLongBody($body,700,$mykeyword[0]);//每隔200字节插入关键字1(200可改)             $body = co

织梦系统自定义模型全局调用方法标签

首先修正官方版的一个bug./include/taglib/arclistsg.lib.php第76行  代码如下 复制代码 if(!empty($channelid)) $gquery = "SELECT addtable,listfields FROM `#@__channeltype` WHERE id='$channelid' "; else $gquery = "SELECT ch.addtable,listfields FROM `#@__arctype` tp