DEDE cms 5.7 如何設置偽靜態?
2016-03-08 11:57:39
14470
dede5.7偽靜態設置七步法:
第一步、后臺-系統參數-核心設置-是否使用偽靜態:選擇“是”;
Apache服務器偽靜態相對簡單,直接在.htaccess文件中加入相應偽靜態規則即可;而IIS服務器偽靜態的實現,則需要加載Rewrite組件,然后配置httpd.ini文件。
第二步、如果你的網站已經存在生成的靜態欄目或文章HTML,那么只需在后臺-系統-SQL命令行工具中執行如下語句:
將所有文檔設置為“僅動態瀏覽”:
update dede_archives set ismake=-1
將所有欄目設置為“使用動態頁”:
update dede_arctype set isdefault=-1
第三步、列表頁、文章頁偽靜態修改
打開/include/helpers/channelunit.helper.php。
(1)查找:
//動態文章
if($cfg_rewrite == Y)
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.-1.html;
}
替換為
//動態文章
if($cfg_rewrite == Y)
{
return "/DedeCMS/DedeCMS5.7-".$aid.-1.html;
}
意思是:將默認的/plus/view-1-1.html文章鏈接格式改為/DedeCMS/DedeCMS5.7-1-1.html。
(2) 查找:
//動態
$reurl = $GLOBALS[cfg_phpurl]."/list.php?tid=".$typeid;
替換為
//動態
$reurl = "/category/list-".$typeid.".html";
意思是:將默認的頻道或是列表頁URL/plus//list.php?tid=1變更為/dedecms/list-1.html形式。
第四步、列表分頁偽靜態修改
打開/include/arc.listview.class.php
查找:
$plist = str_replace(.php?tid=, -, $plist);
替換為
$plist = str_replace(plus/list.php?tid=, ‘DedeCMS/DedeCMS5.7-, $plist);
將默認的plus/list.php?tid=替換成RMB/list-;
意思是:將默認的列表分頁鏈接格式plus/list.php?tid=x$x$xl修改為DedeCMS/DedeCMS5.7-x-x-x.html。
第五步、文章分頁偽靜態
打開/include/arc.archives.class.php,找到獲取動態的分頁列表GetPagebreakDM()函數末尾處:
查找:
$PageList = str_replace("plus/view.php?tid=","DedeCMS/DedeCMS5.7-",$PageList);
替換為
$plist = str_replace(plus/view.php?tid=, ’DedeCMS/DedeCMS5.7-, $plist);
將默認的plus/view.php?tid=替換成RMB/huilv-;
意思是:將默認的文章分頁鏈接格式plus/view.php?tid=x$x$xl修改為DedeCMS/DedeCMS5.7-x-x-x.html
第六步、TAG標簽偽靜態
DedeCms默認的TAG標簽URL,形如/tags.php?/dedecms模板 /,是不是覺得有個問號不怎么爽,我們改成/tags/dedecms模板 /,是不是好看多了。
下面我們來改一下,打開/include/taglib/tag.lib.php:
查找:
$row[link] = $cfg_cmsurl."/tags.php?/".urlencode($row[keyword])."/";
替換為
$row[link] = $cfg_cmsurl."/tags/".urlencode($row[keyword])."/";
這樣就修改好了,上傳你到你的網站,切記:要記得將原網站備份哦!!
第七步、httpd.ini偽靜態規則:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/RMB/list-([0-9]+).html $1/plus/list.php?tid=$2 [I]
RewriteRule ^(.*)/RMB/list-([0-9]+)-([0-9]+)-([0-9]+).html $1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4 [I]
RewriteRule ^(.*)/RMB/huilv-([0-9]+)-([0-9]+).html $1/plus/view.php?arcID=$2&pageno=$3 [I]
RewriteRule ^(.*)/(.*)_(.*)_([0-9]+).html $1/huilv/?from=$2&to=$3&num=$4 [I]
RewriteRule ^(.*)/tags.html $1/tags.php [I]
RewriteRule ^(.*)/tags/(.*)(?:(?.*))* $1/tags.php?/$2 [I]
RewriteRule ^(.*)/tags/(.*)/(?:(?.*))* $1/tags.php?/$2/ [I]
RewriteRule ^(.*)/tags/(.*)/([0-9])(?:(?.*))* $1/tags.php?/$2/$3 [I]
RewriteRule ^(.*)/tags/(.*)/([0-9])/(?:(?.*))* $1/tags.php?/$2/$3/ [I]
將上面代碼保存為:httpd.ini 上傳到網站的根目錄。
如無特特殊需求建議采用官方默認的生成靜態的頁面方式瀏覽。