主页 > 织梦dedecms教程 >

实现dedecms织梦目录式伪静态的方法

有时候咱们的模板波及到须要动态更新显示的内容,也有人不爱好静态,担忧文件过多或者天生麻烦....等等各种理由都须要用到织梦伪静态。然而DEDECMS的文章页默认的伪静态的url都是:网站地址/plus/view-12-1.html 情势,千篇一律的衔接地址并不难看。小菜在网上寻找N久之后终于发明一个能够间接实现织梦栏目目录情势伪静态的方式:

直接用织梦后盾栏目设置文章命名规矩里的地址来打造个性的DEDECMS文章页伪静态URL。
个别咱们在后盾设置栏目标时候,都会设置一下文章文章命名规矩,如下图。

 


这次咱们就用这个文章命名规矩里本人设置的规矩来打造完善的文章页伪静态URL。

 

修正文件\include\helpers\channelunit.helper.php(修正前请备份文件)
直接搜寻: //动态文章
下一行看到:
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';

 

实现dedecms织梦目录式伪静态的方法

 

画红框的地方调换成以下代码:

/*** */$articleDir = MfTypedir($typedir);$articleRule = strtolower($namerule);if($articleRule==''){$articleRule = strtolower($GLOBALS['cfg_df_namerule']);}if($typedir==''){$articleDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir'];}$dtime = GetDateMk($timetag);list($y, $m, $d) = explode('-', $dtime);$arr_rpsource = array('{typedir}','{y}','{m}','{d}','{timestamp}','{aid}','{cc}');$arr_rpvalues = array($articleDir,$y, $m, $d, $timetag, $aid, dd2char($m.$d.$aid.$y));if($filename != ''){$articleRule = dirname($articleRule).'/'.$filename.$GLOBALS['cfg_df_ext'];}$articleRule = str_replace($arr_rpsource,$arr_rpvalues,$articleRule);if(preg_match("/\{p/", $articleRule)){$articleRule = str_replace('{pinyin}',GetPinyin($title).'_'.$aid,$articleRule);$articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule);}$articleUrl = '/'.preg_replace("/^\//", '', $articleRule);return $articleUrl;

接下来咱们要在体系基础参数->中心设置里设置一下开启伪静态

 

实现dedecms织梦目录式伪静态的方法

 

勾选,是否应用伪静态。这样就开启了伪静态功能了,当初随意增加一篇文章测试一下

 

实现dedecms织梦目录式伪静态的方法

 

宣布选项这里要抉择 仅动态阅读,这样织梦体系才会是伪静态的。

 

实现dedecms织梦目录式伪静态的方法

 

宣布胜利后,能够看到,文章伪静态的地址跟 真静态天生html的地址是截然不同的了。

最后附以上案例的伪静态规矩:

RewriteRule ^(.*)/cslm/([0-9]+)/([0-9]+)/([0-9]+)\.html $1/plus/view\.php\?aid=$4

详细伪静态规矩要看本人的情况而修正了,多少栏目就增加多少规矩。个别网站栏目都是固定的,所以也不算麻烦。性价比仍是蛮高的。
OK,想实现dedecms织梦目录式伪静态的友人们就能够参考这个方式了!