实现dedecms织梦目录式伪静态的方法
有时候我们的模板涉及到需要动态更新显示的内容,也有人不喜欢静态,担心文件过多或者生成麻烦….等等各种理由都需要用到织梦伪静态。但是DEDECMS的文章页默认的伪静态的url都是:http://网站地址/plus/view-12-1.html 形式,千篇一律的连接地址并不好看。跟版网小编在网上寻找N久之后终于发现一个可以间接实现织梦栏目目录形式伪静态的方法:
直接用织梦后台栏目设置文章命名规则里的地址来打造个性的DEDECMS文章页伪静态URL。
一般我们在后台设置栏目的时候,都会设置一下文章文章命名规则,如下图。
这次我们就用这个文章命名规则里自己设置的规则来打造完美的文章页伪静态URL。
修改文件includehelperschannelunit.helper.php(修改前请备份文件)
直接搜索: //动态文章
下一行看到:
return $GLOBALS[“cfg_plus_dir”].”/view-“.$aid.’-1.html’;
画红框的地方替换成以下代码:
/**
* http://www.qimiweb.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;
接下来我们要在系统基本参数->核心设置里设置一下开启伪静态
勾选,是否使用伪静态。这样就开启了伪静态功能了,现在随便添加一篇文章测试一下
发布选项这里要选择 仅动态浏览,这样织梦系统才会是伪静态的。
发布成功后,可以看到,文章伪静态的地址和真静态生成html的地址是一模一样的了。
最后附以上案例的伪静态规则:
RewriteRule ^(.*)/cslm/([0-9]+)/([0-9]+)/([0-9]+).html $1/plus/view.php?aid=$4
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
pbootcms模板网 » 实现dedecms织梦目录式伪静态的方法