百度seo教程:dedecms織夢(mèng)手機(jī)版靜態(tài)化方法


  一、功能:實(shí)現(xiàn)dedecms網(wǎng)站PC端和移動(dòng)端數(shù)據(jù)同步,以及移動(dòng)端網(wǎng)站靜態(tài)化


  二、基于:dedecms20150618+官方默認(rèn)移動(dòng)端模板+移動(dòng)站域名綁定/m/目錄


  三、后臺(tái)展現(xiàn):從后臺(tái)上來(lái)看,只有兩塊不同,原版的后臺(tái)只有“一鍵更新網(wǎng)站”功能,修改后,在原有的“一鍵更新PC網(wǎng)站”基礎(chǔ)上增加了“一鍵更新移動(dòng)網(wǎng)站”功能。


  四、程序思路


  dedecmsV5.7SP1正式版(2015-06-18)已增加移動(dòng)端模塊,實(shí)現(xiàn)了網(wǎng)站pc端與移動(dòng)端共用同一個(gè)后臺(tái)和數(shù)據(jù)庫(kù)的功能,美中不足的是移動(dòng)端網(wǎng)站除首頁(yè)外僅能動(dòng)態(tài)瀏覽,而無(wú)法全站生成靜態(tài)網(wǎng)頁(yè)。


  簡(jiǎn)單來(lái)說(shuō),dedecms靜態(tài)頁(yè)面(pc端)生成功能是調(diào)用pc端網(wǎng)站模板和對(duì)應(yīng)標(biāo)簽數(shù)據(jù),組合為html代碼并按設(shè)置的文件名規(guī)則生成到相應(yīng)的目錄下,從這一角度考慮,如果調(diào)用移動(dòng)端模板,按照后臺(tái)設(shè)置的文件名和生成目錄將文件同pc端路徑生成至移動(dòng)端目錄(二級(jí)目錄/m/)下,再將移動(dòng)域名綁至目錄/m/上,即實(shí)現(xiàn)了移動(dòng)端靜態(tài)文件生成,且與pc端頁(yè)面url一一對(duì)應(yīng)。


  我們可以基于已有功能進(jìn)行簡(jiǎn)單修改來(lái)增加以上功能(需對(duì)dedecms系統(tǒng)文件結(jié)構(gòu)有一定了解):


  1、復(fù)制dedecms“一鍵更新網(wǎng)站”功能(如要實(shí)現(xiàn)移動(dòng)端的“更新欄目HTML”、“更新文檔HMTL”等功能類似操作)相關(guān)的幾個(gè)系統(tǒng)文件,當(dāng)然也可直接對(duì)原始文件進(jìn)行二次開(kāi)發(fā),但考慮到減少影響原功能的可能性和后續(xù)程序升級(jí),這里采取了兩者功能文件隔離的方式。


  2、dedecms移動(dòng)端模板規(guī)則是在模板文件名后加“_m”,修改相應(yīng)系統(tǒng)文件中的模板調(diào)用代碼,改為移動(dòng)端模板路徑格式;找到生成路徑的代碼,將生成路徑前加上“/m/”。


  3、修改dedecms后臺(tái)菜單模板,加上“一鍵更新移動(dòng)網(wǎng)站”鏈接至上面新增的系統(tǒng)文件,點(diǎn)擊后進(jìn)行移動(dòng)端網(wǎng)頁(yè)靜態(tài)文件的生成。


  4、欄目更新:


 ?。?)因?yàn)镻C站可以通過(guò)“更新主頁(yè)HTML”、“更新欄目HTML”、“更新文檔HTML”來(lái)實(shí)現(xiàn)首頁(yè)、欄目、文章的更新,所以“一鍵更新PC網(wǎng)站”建議平時(shí)不需要多使用,比較占據(jù)資源。


 ?。?)通過(guò)“一鍵更新移動(dòng)網(wǎng)站”功能實(shí)現(xiàn)移動(dòng)站的文檔、欄目和首頁(yè)的更新。


  5、織夢(mèng)移動(dòng)站的搭建方法的延伸


  Dedecms移動(dòng)站靜態(tài)化實(shí)操是作為上次分享的織夢(mèng)移動(dòng)站的搭建的補(bǔ)充和延伸。


  6、目前常見(jiàn)的幾種織夢(mèng)移動(dòng)化的方法:


 ?。?)使用織夢(mèng)官方默認(rèn)的方案,移動(dòng)站為動(dòng)態(tài)地址;


  (2)PC站和移動(dòng)站各一個(gè)后臺(tái),共用一個(gè)數(shù)據(jù)庫(kù);


 ?。?)本方案(在織夢(mèng)官方默認(rèn)方案的基礎(chǔ)上,進(jìn)行文件修改,使移動(dòng)站為靜態(tài)地址);


 ?。?)其他方式。


  五、文件結(jié)構(gòu)說(shuō)明(黑色文件名為新增文件,黑色加粗文件名為替換原文件):


  dede/


  makehtml_all_m.php一鍵更新移動(dòng)網(wǎng)站頁(yè)面


  makehtml_archives_action_m.php移動(dòng)端更新文檔


  makehtml_list_action_m.php移動(dòng)端更新欄目


  inc/


  inc_menu.php管理后臺(tái)導(dǎo)航菜單


  inc_archives_functions.php發(fā)布文章自動(dòng)生成(發(fā)布pc端文章同時(shí)自動(dòng)生成移動(dòng)端頁(yè)面)


  templets/


  makehtml_all_m.htm一鍵更新移動(dòng)網(wǎng)站頁(yè)面模板


  makehtml_archives_m.htm移動(dòng)端更新文檔模板


  include/


  arc.archives.class.phppc端更新文檔類(發(fā)布pc端文章同時(shí)自動(dòng)生成移動(dòng)端頁(yè)面)


  arc.archives_m.class.php移動(dòng)端更新文檔類


  arc.listview_m.class.php移動(dòng)端更新欄目類


  templets/


  default/


  index_m.htm首頁(yè)模板


  header_m.htm通用頭部模板


  list_default_m.htm列表欄目頁(yè)默認(rèn)模板(如某欄目不存在對(duì)應(yīng)的移動(dòng)端模板,則使用此模板)


  index_article_m.htm頻道欄目頁(yè)模板


  article_article_m.htm文章內(nèi)容頁(yè)模板


  m/


  images/


  defaultpic.gif默認(rèn)縮略圖


  六、附文章圖片路徑問(wèn)題的幾種解決方法:


  方法一:修改模板的field.body標(biāo)簽,將圖片替換為pc主域名的圖片地址,例:


  {dede:field.bodyfunction='str_replace("/uploads/allimg/","主域名.com/uploads/allimg/",@me)/}


  方法二:服務(wù)器設(shè)置rewrite規(guī)則進(jìn)行圖片路徑重定向,例:


  RewriteCond%{HTTP_HOST}^m.主域名.com$[NC]


  RewriteRule^/uploads/allimg/(.*)$主域名.com/uploads/allimg/$1[NC,L]


  方法三:dedecms后臺(tái)>系統(tǒng)>系統(tǒng)基本參數(shù)>核心設(shè)置中,開(kāi)啟“(是/否)支持多站點(diǎn),開(kāi)啟此項(xiàng)后附件、欄目連接、arclist內(nèi)容啟用絕對(duì)網(wǎng)址”功能。(該方法僅對(duì)于開(kāi)啟功能后發(fā)布的文章生效,對(duì)于之前發(fā)布的文章無(wú)效。)


  總結(jié)幾種方法:


  一、功能:實(shí)現(xiàn)dedecms網(wǎng)站PC端和移動(dòng)端數(shù)據(jù)同步,以及移動(dòng)端網(wǎng)站靜態(tài)化


  二、基于:dedecms20150618+官方默認(rèn)移動(dòng)端模板+移動(dòng)站域名綁定/m/目錄


  三、后臺(tái)展現(xiàn):從后臺(tái)上來(lái)看,只有兩塊不同,原版的后臺(tái)只有“一鍵更新網(wǎng)站”功能,修改后,在原有的“一鍵更新PC網(wǎng)站”基礎(chǔ)上增加了“一鍵更新移動(dòng)網(wǎng)站”功能。


  四、程序思路