婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網站建設 > 建站知識 > DEDECMS全站偽靜態設置方法

DEDECMS全站偽靜態設置方法

POST TIME:2021-05-23 01:52

1、首先欄目和文章最好設置成動態瀏覽,這樣才不會生成靜態html文件。
修改數據庫    
將所有文檔設置為“僅動態”,可以進入數據庫管理中,執行下面命令:  
  1. update dede_archives set ismake=-1  
并將ismake的默認值設置為 -1即動態。  
將所有欄目設置為“使用動態頁”,可以進入數據庫管理中,執行下面命令:  
  1. update dede_arctype set isdefault=-1 
 
2、修改重寫的URL。
如果用默認的設置, 訪問的URL是:
http://www.XXXX.com/plus/view-131-1.html 
這樣的形式, 我們是可以更改這種樣式的.
找到文件/include/helpers/channelunit.helper.php打開.
可以看到有這樣的語句  
  1. retu $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; 
這就是文章的url格式.  修改為
retu "/view-".$aid.'-1.html'; 
找到這是列表的重寫url. 
  1. $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid; 
這是列表的重寫url. 修改為:
$reurl = "/list-".$typeid.".html";  
 
3、需要設置重寫規則。
在系統目錄下加一個 .htaccess文件,在里面加上下面的:
  1. RewriteEngine On    
  2. RewriteRule ^list-([0-9]+)\.html$ /plus/list.php?tid=$1  
  3. RewriteRule ^list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3  
  4. RewriteRule ^view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1  
  5. RewriteRule ^view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2 
如果你的系統支持url重寫,到這里就可以用偽靜態訪問了.這樣就完成了設置。 
更進一步,還可以把view換成自己的任何詞語,這也要把include/arc.archives.class.php文件中的view也一樣替換。
發布選項: 生成HTML 僅動態瀏覽 發文章的時候選一下就可以了。為了以后升級,盡量減少修改文件。
 
更多偽靜態設置方法:
頻道|列表頁|文章頁偽靜態
主要通過修改GetFileName()、GetTypeUrl()這兩個函數實現。DedeCms V5.3、DedeCms V5.5和DedeCms V5.6版本,打開/include/channelunit.func.php進行修改。注意:DedeCms V5.7,此文件路徑更改了,你打開/include/helpers/channelunit.helper.php即可。
a.將GetFileName()中的如下代碼:
  1. //動態文章  
  2. if($cfg_rewrite == 'Y')  
  3. {  
  4. retu $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';  
替換為
//動態文章  
  1. if($cfg_rewrite == 'Y')  
  2. {  
  3. retu "/archives/view-".$aid.'-1.html';  
將文章頁默認的/plus/view-1-1.html鏈接格式改為/archives/view-1-1.html,這個隨個人喜歡,不作更改也行。
b.將GetTypeUrl()中的如下代碼:
  1. //動態 
  2. $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid; 
替換為
  1. //動態 
  2. $reurl = "/category/list-".$typeid.".html"; 
這步必須修改,即讓你的頻道或是列表頁URL變更為/category/list-1.html形式。
 
列表分頁偽靜態
打開/include/arc.listview.class.php,找到獲取動態的分頁列表GetPageListDM()函數末尾處:
  1. $plist = str_replace('.php?tid=', '-', $plist); 
替換為
  1. $plist = str_replace('plus', 'category', $plist);//將默認的plus替換成category 
  2. $plist = str_replace('.php?tid=', '-', $plist); 
將列表分頁默認鏈接格式/plus/list-1-2-1.html修改為/category/list-1-2-1.html,這步也可以不作更改。
 
文章分頁偽靜態
打開/include/arc.archives.class.php,找到獲取動態的分頁列表GetPagebreakDM()函數末尾處:
  1. $PageList = str_replace(".php?aid=","-",$PageList); 
替換為
  1. $plist = str_replace('plus', 'archives', $plist);//將默認的plus替換成archives 
  2. $PageList = str_replace(".php?aid=","-",$PageList); 
這步不作修改也可以,只是個人喜好問題。
 
TAG標簽偽靜態
DedeCms默認的TAG標簽URL,形如/tags.php?/dedecms5.7/,非常之難看。打開/include/taglib/tag.lib.php,找到lib_tag()函數下的:
  1. $row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/"; 
替換為
  1. $row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/"; 
到這里,TAG標簽URL中的“.php?”號就去掉了。
 
搜索偽靜態
DedeCms搜索URL靜態化比較麻煩,附帶參數多不說,參數也可能變化,像搜索結果分頁的URL就特麻煩,偽靜態規則匹配復雜。小拼就偷下懶,將搜索URL中“search.php?…”直接替換為“search.html?…”,至于“?”號之后的參數以任意字符進行匹配。 
依次打開include文件夾下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找“search.php?”替換為“search.html?”即可。
 
問答偽靜態
問答模塊的偽靜態實現比較簡單,只要后臺開啟偽靜態支持即可,至于個別頁面,如ask目錄下的browser.php、question.php以及include目錄下的common.inc.php、functi*****.inc.php都需要簡單修改才可以匹配偽靜態規則。注意一點,DedeCms V5.7問答模塊整體升級了,之前的規則已經不適用了,小拼以后會專門寫個教程供大家參考的。
 
DedeCms偽靜態注意事項
1)以上提供的DedeCms偽靜態修改以及規則都是按照個人的修改步驟來的,僅供參考,你可以根據站點的實際情況作相應調整;
2)偽靜態實現思路,即根據理想的URL結構寫好偽靜態規則,然后對程序進行相應修改,并沒有你想象中的那么復雜;
3)不會程序、不會正則都沒有關系,但是思路一定要清晰,還有就是禁得住“折騰”,多研究,搞透了,對提升自己也有極大好處。 


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 龙胜| 龙川县| 丽水市| 桐梓县| 安宁市| 循化| 五家渠市| 栖霞市| 济南市| 台南县| 右玉县| 富锦市| 泽州县| 利津县| 牟定县| 抚顺市| 富川| 加查县| 墨竹工卡县| 蚌埠市| 呈贡县| 大埔区| 玉溪市| 绥宁县| 隆回县| 桐乡市| 石阡县| 定南县| 行唐县| 乾安县| 清流县| 高安市| 夏河县| 泗水县| 广元市| 连江县| 浏阳市| 龙游县| 仪征市| 冕宁县| 巢湖市|