DedeCMS手机站首页静态页面更新问题及解决方案

对于使用DedeCMS建站的站长来说,2015年6月18日是一个值得庆祝的日子,因为DedeCMS推出了一次重要更新,新增了移动版网站(手机站)的功能。虽然默认情况下不支持自定义模型的显示,但手机站模板标签与PC端一致,这意味着您可以像构建PC端网站一样,为手机站创建专属模板来展示自定义模型。

然而,在实际使用过程中,部分站长可能会遇到一个问题:尽管DedeCMS手机站采用动态访问模式,无法生成静态页面,但其首页却存在一个静态地址,例如:https://www.example.com/m/index.html。这个静态页面不会自动更新,容易让人误以为是手机浏览器缓存导致的问题。即使在手机端多次刷新,问题依然存在。

有趣的是,如果您手动删除这个静态页面,再通过通用主页地址访问(如:http://www.example.com),系统会重新生成该静态页面,并跳转到对应的静态链接。

网上有一种解决方法,即在“生成”->“更新主页HTML”中将相关设置调整为移动站信息,然后生成主页。这种方法确实可以更新移动站首页,但同时会导致PC站首页无法正常更新,形成二选一的局面。

经过深入研究,我们发现关键在于/m/index.php文件中的代码逻辑。具体来看,以下代码片段:


if(isset($_GET@['upcache']) || !file_exists('index.html'))

这行代码的作用是判断两个条件:是否接收到upcache参数,以及index.html文件是否存在。如果index.html文件已存在,则不会触发页面更新逻辑。

为了实现首页自动更新,我们可以尝试修改这段代码,去掉!符号,即将代码改为:


if(isset($_GET@['upcache']) || file_exists('index.html'))

完成修改后,您只需在手机端输入PC主页地址(如:http://www.example.com),系统便会自动跳转到动态页面https://www.example.com/m/index.php,确保内容实时更新。与此同时,静态页面也会同步更新,从而解决无法自动更新的问题。

此外,网上还有其他方法可以通过删除大量代码实现动态浏览主页,但由于操作复杂且可能存在未知风险,不建议采用。

通过以上方法,您可以轻松解决DedeCMS手机站首页静态页面无法自动更新的问题,进一步提升用户体验和SEO效果。希望本文对您有所帮助!