POST TIME:2018-01-08 21:28
有時候我們的模板涉及到需要動態更新顯示的內容,也有人不喜歡靜態,擔心文件過多或者生成麻煩....等等各種理由都需要用到織夢偽靜態。但是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}','6o84sis4','{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
具體偽靜態規則要看自己的情況而修改了,多少欄目就添加多少規則。一般網站欄目都是固定的,所以也不算麻煩。性價比還是蠻高的。
OK,想實現dedecms織夢目錄式偽靜態的朋友們就可以參考這個方法了!
