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

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

356 2021-04-22 23:26:56

收藏
帝国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百度推送插件怎样将默认ID排序改为时间倒序?
帝国CMS百度推送插件怎样将默认ID排序改为时间倒序?

很多采集站点可能是这样操作的:采集好的资讯时间是采集时间,到了发布的时候会...

19 619
帝国cms百度推送插件怎样将http改成https
帝国cms百度推送插件怎样将http改成https

帝国cms百度推送插件流传十分广,但有些https站点却推送了http的链接,这无疑十...

9 671
帝国CMS有栏目seo标题吗,在哪里设置?
帝国CMS有栏目seo标题吗,在哪里设置?

很多用惯了织梦CMS的朋友在用帝国以后就会非常困惑,因为织梦CMS他的栏目是有...

1 345
帝国CMS文章配图怎样设置自动添加水印?
帝国CMS文章配图怎样设置自动添加水印?

现在采集网站非常多,不止采集内容,还采集图片,还不标注出处,非常可恶。那么,帝国...

1 476
帝国cms制作信息反馈表的方法
帝国cms制作信息反馈表的方法

帝国cms自带的信息反馈功能,不仅可以实现留言功能,还可以实现像在线报名、反...

1 513
帝国cms封装自定义函数实现用户发布数统计
帝国cms封装自定义函数实现用户发布数统计

在帝国cms会员开发的过程中,我们经常需要展示用户文章发布数统计。如果每次...

1 309
帝国cms某个栏目使用完全自定义的分页功能
帝国cms某个栏目使用完全自定义的分页功能

帝国CMS列表页的分页函数是用系统设置中的分页函数,修改都是在系统设置里进...

0 713
帝国cms后台取消单个账号不允许同时在线
帝国cms后台取消单个账号不允许同时在线

帝国cms默认是一个账号只能一个人登陆,其他人登陆时之前在线的用户将被挤下...

3 1335
推荐插件
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

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

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

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

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

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

0 1199
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

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

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

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

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

0 284
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 416
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

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