• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    帝国cms实现用户访问页面自动生成html的方法

    发布者: 网神之王 | 发布时间: 2025-7-24 16:34| 查看数: 37| 评论数: 0|帖子模式

    本文实例讲述了html">帝国cms实现用户访问页面自动生成html的方法。分享给大家供大家参考。具体分析如下:
    原因:对于服务器资源有限但是数据量非常庞大的网站来说,使用帝国cms在批量生成全部文件的时候速度比较慢,更改了一次模板,往往要更新很久.
    思路:删除所有html->利用nginx匹配未生成的html->php生成html,如果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下.
     
    3.php生成:
    文件1:chtml.php代码如下:
     
    代码如下:

    文件2修改:
     
    e/class/chtmlfun.php
    找到ReSingleInfo方法,在下面之前:
     
    代码如下:
    $sql=$empire->query("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add);
    新增:如下代码:
    代码如下:
    /* 前台生成单个文件 2014-5-8 shanmao*/ 
    $s_aid = (int)$_GET['ssid']; 
    if($s_aid>0){ 
    $add="id=$s_aid"; 
    $classid=58;//你的栏目id 

    /* 前台生成单个文件 */
    文件3修改:functions.php GetHtml 方法尾部新增一下代码,用于直接显示生成后的html:
    代码如下:
    /* 直接展示html 2014-5-8 */ 
    $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); 

    }
    /* 直接展示html 2014-5-8 */ 
    希望本文所述对大家的帝国cms建站有所帮助。

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表