織夢dede手機端靜態化終極解決方案

發布時間:2017-07-25 23:27:12 來源:未知 作者:admin
文章已經發布最新版本,經過簡化測試可以正常使用,請仔細閱讀,一步一完成即可,如有其他問題請聯系站長QQ或加熊掌號。
  大家都知道靜態頁面的好處多多,既有利于抓取收錄而且打開速度也比較快,節省服務器CPU的時間,因此許多大型網站也進行靜態化。由于dedecmsv5.7sp2版本沒有提供手機端移動端網站靜態生成的功能,今天青鋒建站給大家分享下利用現有的織夢系統實現移動端手機端生成靜態頁面的功能,而且共用一套后臺,可以方便的進行手機端和PC端的切換,而不是默認的手機端打開時調用數據庫再生成頁面。

dedecms手機端移動端網站靜態化程序下載

下載碼獲取方式:
方式一:百度搜索“青鋒建站”-找到青鋒建站的熊掌號,關注后-在文本輸入框中輸入:(織夢靜態化插件 、織夢手機端插件 )即可獲得下載碼。
方式二:從文章正文開始和結構來關注青鋒建站的通掌號關注后通過輸入關鍵詞同樣可以獲取下載碼。

試驗系統版本

dedecmsv5.7sp2utf-8;(已經為大家做好修改好的腳本,下載覆蓋就可以)。

達到的目標

  1. 后臺添加一鍵更新手機端、更新手機端主頁、更新手機端文檔的功能;

  2. 手機端打開頁面時自動跳轉到手機二級域名網站對應的頁面;

  3. 實現手機端PC端數據同步適配;

  4. 手機端生成靜態頁面;

需要修改的文件

1、對/dede/目錄的修改

/dede/inc/目錄下修改如下文件
inc_archives_functions.php
inc_menu.php
/dede/目錄下修改如下文件
makehtml_all.php
makehtml_list_action.php
makehtml_archives_action.php
makehtml_homepage.php
config.php
/dede/目錄下增加如下文件
makehtml_all_m.php
makehtml_list_action_m.php
makehtml_archives_action_m.php
makehtml_homepage_m.php
zchange_sysconfig.php
zchange_sysconfig_m.php
/dede/templets/目錄下修改如下文件
makehtml_homepage.htm
/dede/templets/目錄下增加如下文件
makehtml_homepage_m.htm
makehtml_all_m.htm
makehtml_list_m.htm
makehtml_archives_m.htm

2、對/include/目錄的修改

/include/目錄下修改如下文件
Arc.archives.class.php
/include/目錄下增加如下文件
arc.archives_m.class.php
arc.listview_m.class.php
common.inc.php

程序文件使用說明與可能遇到的問題

1、下載程序目錄,依次根據實現情況對文件進行覆蓋。
2、打開dedecms織夢管理系統后臺,點擊系統菜單-系統設置-系統基本參數設置-添加新變量;添加以下兩個變量。

  變量名稱:cfg_mbasehost;變量值:http://m.dede.com(需要根據實際的域名進行修改,例如域名為abc.com則變量值應該為http://m.abc.com) ;參數說明:手機站根網址:
變量名稱:cfg_pbasehost;變量值:http://www.dede.com(需要根據實際的域名進行修改,例如域名為abc.com則變量值應該為http://www.abc.com) ;參數說明:PC端根網址:
兩個變量所屬的組都為“站點設置”。

織夢dede手機端靜態化終極解決方案

3、將文章命名規則改成{typedir}/{aid}.html,這樣的目錄URL短而且有利于seo優化。
4、如果發布文章所用的文件名稱為自定義的文件名而且是字母則可以跳過此步,如果習慣發布文章用數字當作文件名的話,需要將article_article.htm中的{dede:field name="filename" /}改成{dede:field name="id" /},主用用于跳轉時使用數據同步。
5、處理圖片問題,由于圖片存儲在/uploads/下,因此需要將m.域名.com下的圖片重定向到www.域名.com下的/uploads/下。以下是代碼,修改時只需將域名進行替換就可以,這里的環境為apache。

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName m.dede.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^m.dede.com$ [NC]
RewriteRule  ^/uploads/(.*) http://www.dede.com/uploads/$1 [NC,L]
DocumentRoot "D:/DedeAMPZ/WebRoot/dede/m"
php_admin_value open_basedir "D:/DedeAMPZ/WebRoot/dede"
</VirtualHost>
 
##VhostEnd
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.dede.com
ServerAlias dede.com
DocumentRoot "D:/DedeAMPZ/WebRoot/dede"
php_admin_value open_basedir "D:/DedeAMPZ/WebRoot/dede"
</VirtualHost>
 
##VhostEnd

6、使用時,發布文章需要在PC端模式下,只需要進行更新下PC端主頁就可以切換到PC端模式下。
7、下載下來的為utf-8編碼的dede手機端靜態化插件,如果系統是GBK,可以使用記事本另存為ANSI編碼格式。
8、關于PC頁面跳轉到相應手機頁面的代碼:
index.htm首頁跳轉
<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

list_article.htm:列表頁跳轉
<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:type}[field:typelink function='str_replace("www","m","@me")' /]{/dede:type}" />
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:type}[field:typelink function='str_replace("www","m","@me")' /]{/dede:type}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

article_article.htm:文章頁跳轉
<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:type}[field:typelink function='str_replace("www","m","@me")' /]{/dede:type}{dede:field name="filename" /}.html" />
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:type}[field:typelink function='str_replace("www","m","@me")' /]{/dede:type}{dede:field name="filename" /}.html";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>
9、有時打開手機版時跳轉到install/index.php頁面
修改/m/目錄下的index.php腳本文件
if(!file_exists('http://www.de.com/data/common.inc.php'))
{
    header('Location:install/index.php');
    exit();
}

clearstatcache();
if(!file_exists(dirname(__FILE__) . "/../data/common.inc.php"))
{
    // header('Location:install/index.php');
    echo 'it is not exists';
    exit();
}
10、發生生成靜態化樣式錯誤的問題:
解決方法是替換CSS樣式和JS,例如替換CSS和JS文件的引入:
<link rel="stylesheet" href="assets/css/amazeui.min.css" />修改為<link rel="stylesheet" href="/assets/css/amazeui.min.css" />JS文件也是如何在最開始前加上"/"即可。
11、其他問題
  其他問題可能由于緩存引起,最好退出瀏覽器或清除緩存來解決。
程序文件為青鋒建站原創作品,禁止商用,如需轉載分發,請注明出處。

 
 

分享到:

Copyright © 2016-2026 青鋒建站 版權所有

超级狮子电子游艺