这里跟普通模式下的移动端同步PC端生成文件有点区别,就是在有人访问的情况下才会生成静态文件,如果没有人访问的话,就不需要生成,类似于缓存功能。节省磁盘空间,缓解服务器压力。
首先先做一个伪静态,将你的静态文件映射下:
rewrite /n/(.*)/(.*).html$ /e/extend/chml.php?classid=$1&id=$2
其目录根据自己的需要来进行修改。
然后创建一个PHP文件,名字就叫上面起的:chml.php,目录存放在/e/extend/下面
折叠展开PHP 代码
- <?php
- 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();
- $empire=new mysqlquery();
-
- ReSingleInfo2('35','mobile');
-
-
- function ReSingleInfo2($userid,$username){
- global $empire,$public_r,$class_r,$dbtbpre;
- if($_GET['classid'])
- {
- $id=$_GET['id'];
- }
- else
- {
- $id=$_POST['id'];
- }
- $fr=$empire->fetch1("select classid from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id=$id");
- $classid=$fr[classid];
- if(emptyempty($classid))
- {
- printerror('ErrorUrl','history.go(-1)');
- }
- $count=count($id);
- if(emptyempty($count))
- {
- printerror("NotReInfoid","history.go(-1)");
- }
- for($i=0;$i<$count;$i++)
- {
- $id[$i]=intval($id[$i]);
- $add.="id='$id[$i]' or ";
- }
- $add="id=$id";
- $sql=$empire->query("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add);
- while($r=$empire->fetch($sql))
- {
- GetHtml($r['classid'],$r['id'],$r,1);
- }
- $filepath='/e/action/ShowInfo.php?classid='.$classid.'&id='.$id;
- header("Location: ".$filepath);
- }
-
- db_close();
- $empire=null;
-
- ?>
这样当你第一次访问移动端的文件的时候,他会自动生成一个对应PC端的文件,以后访问就不需要了。当然,不仅仅是这一个用法哦,这个生成的文件你还可以当缓存来用,你可以定时清理这些文件,不像普通的同步生成,你删掉了,就打不开了,不然就是404~