Login
网站首页 > 文章中心 > 其它

php伪静态页面函数附使用方法

作者:小编 更新时间:2023-09-25 18:43:37 浏览量:365人看过

php如何实现网页静态

第一段:静态化的优点:

①.有利于搜索引擎收录网站页面的信息:搜索引擎更喜欢静态的,更变于抓取,搜索引擎SEO排名会更容易提高.

第二段:伪静态

PHP伪静态:是利用Apache mod_rewite实现url重写的方法

改写访问地址,能够通过URL的PATHINFO模式来改动它.让它看上去更像一个静态页面.从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化

第三段:纯静态化

纯静态化,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存.而且在ob_start之前不能有不论什么输出,否则运行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串.第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回True,失败返回False.

php

{

//如果存在对应的静态文件,则直接访问

require_once("match.html");

}else{

//这里用数组来仿真数据库操作,现实一般都是操作数据库得到对应数据

$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');

ob_start();

//载入模板

require_once("muban.php");

file_put_contents("match.html",ob_get_clean());

require_once('match.html');

}

关于php伪静态

这么搞一定不行的..种要有个区别开来的东西!!!那有那么智能啊!

如果用cakephp就更加好了!

下面是引用别人的!!很容易实现的!!我们都是用cakephp框架开发的!

PHP伪静态写法--其一

伪静态又名:URL重写

主要是为了SEO而生的.(SEO是什么?这个不用问我吧.呵呵~搞网络的不懂SEO那就~~~~)

方法一:

比如这个网页

真静态只是完全生成了HTML.

当然在你网站的流量没有那么大的时候.URL重写是最好的方法(个人观点,大流量的时候可以考虑负载均衡了.同样没有关系)

附URL重写的方法有很多种,APACHE,IISREWRITE.甚至PHP脚本都可以直接处理.比如上例中就是PHP脚本直接处理(该方法好处是大流量的时候直接减轻WEB伺服器的压力.PS:同样也是个人观点:

================================================

下面以程序为例讲一下PHP伪静态的程序实现方法,其实这方法我之前已经有在其它论坛社区发过

程序为例:

CODE:

if(@$path_info =$_SERVER["PATH_INFO"]){

//正则匹配一下参数

if(preg_match("/\/(\d◆),(\d◆),(\d◆)\.html/si",$path_info,$arr_path)){

$gid =intval($arr_path[1]); //取得值 1

}else die("Path:Error!");

//就是这么简单了.~)

方法二:

一 打开 Apache 的配置文件 httpd.conf .

二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉

三 在 httpd.conf中添加:

IfModule mod_rewrite.c

RewriteEngine On

/IfModule

四 要实现asp帖子URL到php帖子的映射,在 第三步的IfModule mod_rewrite.c和/IfModule之间添加:

RewriteMap tolowercase int:tolower

RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d◆ [NC]

RewriteRule ^(.*(?:index|dispbbs)).asp 1.php?{tolowercase:%{QUERY_STRING}}__is_apache_rewrite=1

五 保存httpd.conf并重启Apache

方法三:

/*

功能:PHP伪静态化页面的实现

具体用法:

mod_rewrite();

$action=$_GET["action"];//结果为'_add'

*/

function mod_rewrite(){

global $_GET;

$nav=$_SERVER["REQUEST_URI"];

$script_name=$_SERVER["SCRIPT_NAME"];

$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);

$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm

$vars = explode("/",$nav);

$_GET["$vars[$i]"]=$vars[$i◆1];

return $_GET;

echo $yearn;

echo $action;

用PHP怎么实现伪静态页面◆多条件查询

举个例子:你在浏览器地址栏里输入 http://域名/index.php/a/b/c/d.html

PHP网站如何实现网页伪静态或静态?

伪静态实现方式两种:

① web服务器上设置.html或者.htm等后缀的页面也通过PHP来处理即可,比如Nginx或者Apache,都有这样的配置文件,设置PHP处理的文件后缀类型,这样前台请求的htm文件,实际上是PHP代码

真正的静态实现:

如何用PHP输出静态页面?

一种是利用模板技术,另一种是用ob系列函数.两种方法,看起来都差不多,但是实际上,却是不同的.

第一种:利用模板目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smart

template等.

它们每一种模板,都有一个获取输出内容的函数.

我们生成静态页面的方法,就是利用了这个函数.

用这个方法的优点是,代码比较清晰,可读性好.

$t

=

new

Smarty;

$t-assign("title","Hello

World!");

$content

$t-fetch("templates/index.htm");

//这里的

fetch()

就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了

$fp

"w");

fwrite($fp,

$content);

fclose($fp);?第二种方法:利用ob系列的函数这里用到的函数主要是

ob_start(),

ob_end_flush(),

ob_get_content(),

其中ob_start()是打开浏览器缓冲区的意思,

打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,

而是保存在内部缓冲区,直到你使用了ob_end_flush().

而这里最重要的一个函数,就是ob_get_contents(),

这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),

道理一样的.代码:

ThinkPHP怎么实现伪静态

①.、实现伪静态方法:

①.)隐藏入口文件:

上面三个都用上,基本都OK了!当然,还可以通过服务器重写URL

①.)每个文件夹添加一个index.html空文件(因服务器默认的首页而异同),假如默认首页是 index.html 那就 添加index.html

以上就是土嘎嘎小编为大家整理的php伪静态页面函数附使用方法相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章