m install index.php,织梦dede手机端静态化终极解决方案

文章已经发布最新版本,经过简化测试可以正常使用,请仔细阅读,一步一完成即可,如有其他问题请联系站长QQ或加熊掌号。

大家都知道静态页面的好处多多,既有利于抓取收录而且打开速度也比较快,节省服务器CPU的时间,因此许多大型网站也进行静态化。由于dedecmsv5.7sp2版本没有提供手机端移动端网站静态生成的功能,今天青锋建站给大家分享下利用现有的织梦系统实现移动端手机端生成静态页面的功能,而且共用一套后台,可以方便的进行手机端和PC端的切换,而不是默认的手机端打开时调用数据库再生成页面。

下载码获取方式:

方式一:百度搜索“青锋建站”-找到青锋建站的熊掌号,关注后-在文本输入框中输入:(织梦静态化插件 、织梦手机端插件 )即可获得下载码。

方式二:从文章正文开始和结构来关注青锋建站的通掌号关注后通过输入关键词同样可以获取下载码。

试验系统版本

dedecmsv5.7sp2utf-8;(已经为大家做好修改好的脚本,下载覆盖就可以)。

达到的目标后台添加一键更新手机端、更新手机端主页、更新手机端文档的功能;

手机端打开页面时自动跳转到手机二级域名网站对应的页面;

实现手机端PC端数据同步适配;

手机端生成静态页面;

需要修改的文件

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端根网址:

两个变量所属的组都为“站点设置”。

159131863_1_20190417113551534.jpg

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。

ServerAdmin admin@myhost.com

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"

##VhostEnd

ServerAdmin admin@myhost.com

ServerName www.dede.com

ServerAlias dede.com

DocumentRoot "D:/DedeAMPZ/WebRoot/dede"

php_admin_value open_basedir "D:/DedeAMPZ/WebRoot/dede"

##VhostEnd

6、使用时,发布文章需要在PC端模式下,只需要进行更新下PC端主页就可以切换到PC端模式下。

7、下载下来的为utf-8编码的dede手机端静态化插件,如果系统是GBK,可以使用记事本另存为ANSI编码格式。

8、关于PC页面跳转到相应手机页面的代码:

index.htm首页跳转

list_article.htm:列表页跳转

article_article.htm:文章页跳转

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文件的引入:

修改为JS文件也是如何在最开始前加上"/"即可。

11、其他问题

其他问题可能由于缓存引起,最好退出浏览器或清除缓存来解决。