POST TIME:2018-01-08 21:28
有時候我們的模板涉及到需要動態(tài)更新顯示的內(nèi)容,也有人不喜歡靜態(tài),擔(dān)心文件過多或者生成麻煩....等等各種理由都需要用到織夢偽靜態(tài)。但是DEDECMS的文章頁默認的偽靜態(tài)的url都是:http://網(wǎng)站地址/plus/view-12-1.html 形式,千篇一律的連接地址并不好看。跟版網(wǎng)小編在網(wǎng)上尋找N久之后終于發(fā)現(xiàn)一個可以間接實現(xiàn)織夢欄目目錄形式偽靜態(tài)的方法:
直接用織夢后臺欄目設(shè)置文章命名規(guī)則里的地址來打造個性的DEDECMS文章頁偽靜態(tài)URL。
一般我們在后臺設(shè)置欄目的時候,都會設(shè)置一下文章文章命名規(guī)則,如下圖。
這次我們就用這個文章命名規(guī)則里自己設(shè)置的規(guī)則來打造完美的文章頁偽靜態(tài)URL。
修改文件includehelperschannelunit.helper.php(修改前請備份文件)
直接搜索: //動態(tài)文章
下一行看到:
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}','mxltgaaarev','{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;
接下來我們要在系統(tǒng)基本參數(shù)->核心設(shè)置里設(shè)置一下開啟偽靜態(tài)
勾選,是否使用偽靜態(tài)。這樣就開啟了偽靜態(tài)功能了,現(xiàn)在隨便添加一篇文章測試一下
發(fā)布選項這里要選擇 僅動態(tài)瀏覽,這樣織夢系統(tǒng)才會是偽靜態(tài)的。
發(fā)布成功后,可以看到,文章偽靜態(tài)的地址和真靜態(tài)生成html的地址是一模一樣的了。
最后附以上案例的偽靜態(tài)規(guī)則:
RewriteRule ^(.*)/cslm/([0-9]+)/([0-9]+)/([0-9]+).html $1/plus/view.php?aid=$4
具體偽靜態(tài)規(guī)則要看自己的情況而修改了,多少欄目就添加多少規(guī)則。一般網(wǎng)站欄目都是固定的,所以也不算麻煩。性價比還是蠻高的。
OK,想實現(xiàn)dedecms織夢目錄式偽靜態(tài)的朋友們就可以參考這個方法了!