下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国CMS怎样开发用户访问页面后自动生成html?

422 2021-04-22 23:26:56

收藏
帝国CMS怎样开发用户访问页面后自动生成html?
帝国cms程序虽然已经效率很高,但如果数据量较大,如超过20万,那么不管模板如何优化,生成时间都会比较长。此时,我们就可以考虑静态+伪静态结合的方式做站内建设。例如,默认伪静态,有人访问后就生成静态页面。

帝国CMS怎样开发用户访问页面后自动生成html?

实现思路

1、删除生成的全部静态html页面
2、nginx匹配未生成的html
3、生成html
4、如果nginx检测html已经生成,则直接展示,不跳转到php。
 

服务器配置

location /{ alias /home/web/xxx.com/; if(!-e $request_filename) { rewrite /(.*)/(.*).html$ /chtml.php?classid=1&id=$2&ssid=$2&check=checkcode; } }
以上配置,用户访问不存在的html的时候会自动展示chtml.php里面的内容,网址不会跳转,相当于是在当前URL下.
 

php生成

文件1:
/e/chtml.php

代码如下:
<?php 
$check= stripslashes($_GET['check']);  
require('./class/connect.php'); //引入数据库配置文件和公共函数文件 
require('./class/db_sql.php'); //引入数据库操作文件 
require("./class/functions.php"); 
require("./class/t_functions.php"); 
require("./data/dbcache/class.php"); 
require("./data/dbcache/MemberLevel.php"); 
require('./class/chtmlfun.php'); 
$link=db_connect(); //连接MYSQL 
$empire=new mysqlquery(); //声明数据库操作类  
if($check=="checkcode"){//checkcode 对应nginx配置的 checkcode ReSingleInfo('userid','username');//你的帝国后台 id 和 用户名 }  
db_close(); //关闭MYSQL链接 $empire=null; //注消操作类变量 
?>

文件2修改:
/e/class/chtmlfun.php
 
找到ReSingleInfo方法,找到下方源码:
$sql=$empire->query("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add);

新增如下代码:
$s_aid= (int)$_GET['ssid']; 
if($s_aid>0){ 
    $add="id=$s_aid"; 
    $classid=58;//你的栏目id 
}

文件3修改:
/e/class/functions.php 

搜索关键词:GetHtml 

尾部新增以下代码,用于直接显示生成后的html:
$s_aid = $_GET['ssid']; 
$s_play = (int)$_GET['play']; 
$s_check= $_GET['check']; 
if($s_check=="checkcode"){ 
    if($s_aid && strstr($s_aid,"_play")){ 
        echo file_get_contents($file_p); 
    }else{ 
        echo file_get_contents($file); 
    } 
}

这样,我们就实现了帝国cms访问时自动生成html页面,下一个访客访问到该页面时,展示的就是静态页面了。

本文地址:https://xzo.com.cn/develop/empire/838.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国cms怎样在新增信息时自动刷新自定义页面(sitemap.xml等)?
帝国cms怎样在新增信息时自动刷新自定义页面(sitemap.xml等)?

很多帝国CMS网站使用自定义页面制作sitemap或是其他一些重要的页面,如果每次...

3 482
帝国cms二次开发后台手动添加会员方法
帝国cms二次开发后台手动添加会员方法

帝国cms后台可以做手动添加会员的功能吗,要怎么添加呢?请参考下方教程了解帝...

1 394
帝国CMS7.5默认伪静态规则大全(.htacces+nginx+web.config)
帝国CMS7.5默认伪静态规则大全(.htacces+nginx+web.config)

帝国CMS7.5默认伪静态规则大全(.htacces+nginx+web.config)提供了多种服务器...

1 446
帝国cms留言板怎样做在线留言的功能?
帝国cms留言板怎样做在线留言的功能?

在线留言是我们常用的功能,通过开发一个简单的留言板,我们可以有效与潜在用户...

1 399
帝国cms怎样批量删除上万篇文章/指定会员/时间段发布的信息?
帝国cms怎样批量删除上万篇文章/指定会员/时间段发布的信息?

在网站运营过程中,我们可能因为这样那样的原因需要批量删除大批文章信息,几十...

1 1190
帝国cms列表页怎样用自带函数自动生成缩略图?
帝国cms列表页怎样用自带函数自动生成缩略图?

如果列表页图片尺寸相对于标题图更小,我们就可以使用帝国cms自带的缩略图函...

0 353
帝国cms自动更新相关tag的fclast上次修改时间字段
帝国cms自动更新相关tag的fclast上次修改时间字段

每次更新发布文章tag信息后,tag数据表的时间会自动同步,但tag信息表的修改时...

0 424
帝国cms 使用download.js下载视频文件
帝国cms 使用download.js下载视频文件

视频文件默认会被pc浏览器直接打开,此时download属性也同样无效。那么,要怎样...

0 469
推荐插件
帝国cms百度、必应bing、神马推送增强收录三合一插件
帝国cms百度、必应bing、神马推送增强收录三合一插件

因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...

0 159
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 452
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 736
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 891
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 319
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 357
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 398
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1274
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入