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

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

342 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提示登录超时,怎样删除或设置超时时间?
帝国CMS提示登录超时,怎样删除或设置超时时间?

帝国CMS后台一段时间不用就会提示登录超时,总是要频繁登录很烦,要怎样取消登...

16 554
帝国cms怎样在新增信息时自动刷新自定义页面(sitemap.xml等)?
帝国cms怎样在新增信息时自动刷新自定义页面(sitemap.xml等)?

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

3 436
帝国cms怎样默认显示副标题ftitle,副标题为空时显示标题?
帝国cms怎样默认显示副标题ftitle,副标题为空时显示标题?

在帝国cms的开发应用中,标题作为文章的主体往往需要表意明显才能获得更好的...

1 440
怎样实现帝国CMS验证码无刷新显示?
怎样实现帝国CMS验证码无刷新显示?

这个蜘蛛爬虫、恶意广告横行的年代,任何涉及到信息反馈的页面不加入验证码就...

1 432
帝国cms多站点跨库调用
帝国cms多站点跨库调用

一台服务器如果存在多个站点,则这些站点的数据可以互相调用。通过互相调用,我...

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

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

1 504
填坑笔记:记录一次帝国cms栏目生成刷新无效的bug
填坑笔记:记录一次帝国cms栏目生成刷新无效的bug

帝国cms刷新栏目页后会自动生成全部栏目列表,但几天在处理客户站点时发现出...

1 366
帝国cms提取正文里的3张图片做缩略图
帝国cms提取正文里的3张图片做缩略图

帝国cms怎样提取正文里的3张图片做缩略图呢?...

0 599
推荐插件
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

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

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

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

0 421
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

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

0 354
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

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

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

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

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

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

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

0 804
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

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