好看的皮囊千篇一律,有趣的灵魂万里挑一。
2017-12-14
由于公司业务需要,对官网进行了页面静态化。同时在此记录下方法。
服务器环境: centos 7.3 apache PHP7.1 框架:laravel5.3
基本要求:
1.apache rewrite 必须得开启的.
2. .htaccess 重写
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]若是单一入口文件,应该都是有这个配置的,尤其是第一句话:RewriteCond %{REQUEST_FILENAME} !-f 意思是,如果不存在和REQUEST_FILENAME 匹配的文件,才跳转至index.php
//生成静态页方法 function create_static_page($path,$file_name,$content){ if(is_dir($path)){ $file_name = handle_file_name($path,$file_name); file_put_contents($file_name, $content); chmod($file_name,0777); } return $content; } //删除静态页方法 function delete_static_page($file){ if(is_file($file)){ unlink($file); } } //清空目录下所有静态页方法 function delete_all_static_page($path){ $file_path=scandir($path); foreach ($file_path as $value) { if($value!='.' &&$value!='..') { delete_static_page(handle_file_name($path,$value)); } } } //文件路径处理函数 function handle_file_name($path,$file_name){ if(substr($path, -1,1)=='/'){ return $path.$file_name; }else{ return $path.'/'.$file_name; } }5.方法举例:( laravel的看这里!)
return view('zixun/article');这里是直接把渲染好的视图输出了,我们截断它。
$string = view('zixun/article')__toString(); return create_static_page(public_path().'/zixun',$id.'.html',$string);