这次我带给你大家的就是直接用后台栏目文章命名规则里的地址来打造个性的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}','{timesta mp}','{aid}','{cc}');
- //上面这里的{timesta mp}多了一个空格,大家去掉就可以了,PS一下论坛过滤 ta m
- $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
伪静态规则要看自己的情况而修改的。
如果本文对你有帮助,欢迎打赏本站