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

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

498 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怎样将一二三级置顶改为首页栏目置顶等其他名字?
帝国cms怎样将一二三级置顶改为首页栏目置顶等其他名字?

帝国cms推荐、头条级别要改名都可以在栏目设置(栏目-头条/推荐级别)里进行修...

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

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

1 1328
帝国cms灵动标签开发那年今日发布的文章
帝国cms灵动标签开发那年今日发布的文章

很多国民app有去年今日的功能,就如QQ空间的那年今日。而网站如果调用那年今...

0 563
帝国CMS怎样验证后台发布信息标题是否重复?
帝国CMS怎样验证后台发布信息标题是否重复?

想要在帝国cms后台禁止发布标题相同的信息,或是在发布信息时验证一下标题是...

2 817
帝国cms禁止蜘蛛抓取后台提升网站安全
帝国cms禁止蜘蛛抓取后台提升网站安全

后台是网站安全的重中之重,而帝国cms后台路径可以修改让得网站安全度大为提...

1 625
栏目目录搭建的帝国cms网站怎样写伪静态规则?
栏目目录搭建的帝国cms网站怎样写伪静态规则?

如果用栏目搭建帝国cms站点,伪静态规则该怎么写呢?如果直接作用于根目录,可能...

1 634
帝国cms怎样在列表循环list.var中插入广告?
帝国cms怎样在列表循环list.var中插入广告?

帝国cms程序广泛应用于各行各业的网站建设,其安全性高、性能强大。但网站建...

3 562
帝国cms 使用download.js下载视频文件
帝国cms 使用download.js下载视频文件

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

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

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

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

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

0 580
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

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

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

0 898
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 951
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

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

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

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

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

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

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