Heim  >  Artikel  >  Backend-Entwicklung  >  So erreichen Sie eine Statik in PHP

So erreichen Sie eine Statik in PHP

王林
王林Original
2019-09-20 17:53:084035Durchsuche

So erreichen Sie eine Statik in PHP

PHP实现静态化

1、通过buffer来实现

需要用file_put_contents ob_get_clean()等内置函数

ob_start ();
include "filterpost.html";
$mtime = filemtime("./filterpost.html");//在这里可以判断文件是否存在和过期,然后做缓存或者生成静态文件操作
$pageCache = str_replace('submit2','login',ob_get_contents());//将缓存去中的内容替换
ob_end_clean();
echo $mtime;
echo $pageCache;

2、通过$_SERVER['PATH_INFO']来实现

echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($_SERVER);
preg_match(&#39;/^\/(\d+)\/(\d+)\.html/&#39;,$_SERVER[&#39;PATH_INFO&#39;],$arr);
print_r($arr);

3、通过Apache配置来实现

需要开启rewrite重写模块,通过rewrite来配置vhost。

RewriteEngine on 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f 
RewriteRule ^/detail/([0-9]*).html$ /detail.php?id=$1

如果服务器下不存在文件夹及其文件,那么就重写定义到/detail.php,如果没有detail文件夹下的1.html 那么就重写定义到./detail.php。

4、通过Nginx配置来实现

 在nginx.conf中配置 

rewrite ^/detail/(\d+)\.html$ /detail.php?id=$1 last;

当然建议大家参考一些比较成熟的cms的方法,对于页面数量不大的话,第一种方法还是不错的。

推荐教程:PHP视频教程

Das obige ist der detaillierte Inhalt vonSo erreichen Sie eine Statik in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn