[dedecms二次开发]打造另类完美的文章页伪静态URL

网上介绍DEDEMS文章页伪静态的教程可以说得上用多如牛毛来形容,但梦想都感觉那些伪静态并不是很完美的,都是千遍一律的,不是用默认的伪静态URL 就是用拼音来代替。DEDECMS的文章页默认的伪静态的url都是,http://www.dedeui.com/plus/view- 12-1.html 这样的URL,对于我们有个性的站长来说,并不是我们想要的。

这次我带给你大家的就是直接用后台栏目文章命名规则里的地址来打造个性的DEDECMS文章页伪静态URL。一般我们在后台设置栏目的时候,都会设置一下文章文章命名规则,如下图。




这次我们就用这个文章命名规则里自己设置的规则来打造完美的文章页伪静态URL。


修改文件\include\helpers\channelunit.helper.php


直接搜索 //动态文章


下一行看到return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';




替换成

/** 
    * 代码类 
    * Copyright (c) 2007 - 2010, dedeui, Inc. 
    * 梦想QQ 51241904 
    * http://www.dedeui.com/ 
    */ 
    $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;

 



好了,代码部分修改完毕了,如果担心自己修改会出错,可以到 http://www.dedeui.com/uploads/soft/dedemcs.rar 下载笔者修改好的文件。修改好本文件之后代码如下:




接下来我们要在系统基本参数->核心设置里设置一下开启伪静态




勾选,是否使用伪静态。这样就开启了伪静态功能了,现在随便添加一篇文章测试一下




发布选项这里要选择 仅动态浏览,这样才会是伪静态的。




发布成功后,可以看到,文章伪静态的地址和真静态生成html的地址是一模一样的了。


最后附上伪静态规则。


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


伪静态规则要看自己的情况而修改的。


此篇教程及图片等附件均属 www.dedeui.com 原创,版权所有,转载请用文本注明本文出处。http://www.dedeui.com/dedejiaocheng/52986.html

posted on 2013-01-09 12:14  dedeuicom  阅读(177)  评论(0)    收藏  举报

导航