php伪静态.

php伪静态.,第1张

test1:

<a href="test2php/a/1/b/2html">AAAAAA</a>

test2没错,应该是你访问test2的路径有问题。

一、静态化的优点:

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

2静态网页化网页稳定

3可以提高网页加载速度

4减轻服务器负担,浏览器不需要频发调用数据库。

5数据库出错不会影响正常访问

二、伪静态

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

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

三、纯静态化

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

<php

if(file_exists("matchhtml") && (time()-filemtime("matchhtml"))<300)

{

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

require_once("matchhtml");

}else{

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

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

ob_start();

//载入模板

require_once("mubanphp");

file_put_contents("matchhtml",ob_get_clean());

require_once('matchhtml');

}

Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。

主要步骤如下: 1检测Apache是否开启mod_rewrite功能 可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 >

利用htaccess文件对PHP网站进行伪静态处理要考虑两点:

一服务器支持伪静态,比如Apache要开启mod_rewrite模块支持

二利用htaccess完成伪静态需要根据不同的网站系统进行不同的设置,以下是一些常见系统的htaccess设定:

01wordpress:

# BEGIN WordPress

<IfModule mod_rewritec>

RewriteEngine On

RewriteBase /

RewriteRule ^indexphp$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule /indexphp [L]

</IfModule>

02Phpwind

RewriteEngine On

RewriteBase /

RewriteRule ^()-htm-()$ $1php$2

RewriteRule ^()simple/([a-z0-9\_]+\html)$ $1/simple/indexphp$2

03Discuz

RewriteEngine On

# Rewrite 系统规则请勿修改

RewriteRule ^archiver/((fid|tid)-[0-9]+\html)$ archiver/indexphp$1

RewriteRule ^forum-([0-9]+)-([0-9]+)\html$ forumdisplayphpfid=$1&page=$2

RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\html$ viewthreadphptid=$1&extra=page\%3D$3&page=$2

RewriteRule ^space-(username|uid)-(+)\html$ spacephp$1=$2

RewriteRule ^tag-(+)\html$ tagphpname=$1

04ecshop

RewriteEngine On

# direct one-word access

RewriteRule ^index\html$ index\php [L]

RewriteRule ^category$ index\php [L]

# access any object by its numeric identifier

RewriteRule ^feed-c([0-9]+)\xml$ feed\php\cat=$1 [L]

RewriteRule ^feed-b([0-9]+)\xml$ feed\php\brand=$1 [L]

RewriteRule ^feed\xml$ feed\php [L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-])-([0-9]+)-(+)-([a-zA-Z]+)()\html$ category\php\id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5&page=$6&sort=$7&order=$8 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-])()\html$ category\php\id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-([0-9]+)-(+)-([a-zA-Z]+)()\html$ category\php\id=$1&brand=$2&page=$3&sort=$4&order=$5 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-([0-9]+)()\html$ category\php\id=$1&brand=$2&page=$3 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)()\html$ category\php\id=$1&brand=$2 [QSA,L]

RewriteRule ^category-([0-9]+)()\html$ category\php\id=$1 [QSA,L]

RewriteRule ^goods-([0-9]+)()\html$ goods\php\id=$1 [QSA,L]

RewriteRule ^article_cat-([0-9]+)-([0-9]+)-(+)-([a-zA-Z]+)()\html$ article_cat\php\id=$1&page=$2&sort=$3&order=$4 [QSA,L]

RewriteRule ^article_cat-([0-9]+)-([0-9]+)()\html$ article_cat\php\id=$1&page=$2 [QSA,L]

RewriteRule ^article_cat-([0-9]+)()\html$ article_cat\php\id=$1 [QSA,L]

RewriteRule ^article-([0-9]+)()\html$ article\php\id=$1 [QSA,L]

RewriteRule ^brand-([0-9]+)-c([0-9]+)-([0-9]+)-(+)-([a-zA-Z]+)\html brand\php\id=$1&cat=$2&page=$3&sort=$4&order=$5 [QSA,L]

RewriteRule ^brand-([0-9]+)-c([0-9]+)-([0-9]+)()\html brand\php\id=$1&cat=$2&page=$3 [QSA,L]

RewriteRule ^brand-([0-9]+)-c([0-9]+)()\html brand\php\id=$1&cat=$2 [QSA,L]

RewriteRule ^brand-([0-9]+)()\html brand\php\id=$1 [QSA,L]

RewriteRule ^tag-()\html search\php\keywords=$1 [QSA,L]

RewriteRule ^snatch-([0-9]+)\html$ snatch\php\id=$1 [QSA,L]

RewriteRule ^group_buy-([0-9]+)\html$ group_buy\php\act=view&id=$1 [QSA,L]

RewriteRule ^auction-([0-9]+)\html$ auction\php\act=view&id=$1 [QSA,L]

05phpcms

RewriteEngine On

RewriteRule ^()content-([0-9]+)-([0-9]+)-([0-9]+)\html$ $1/index\php\m=content&c=index&a=show&catid=$2&id=

$3&page=$4

RewriteRule ^()show-([0-9]+)-([0-9]+)-([0-9]+)html$ $1/index\php\m=content&c=index&a=show&catid=$2&id=

$3&page=$4

RewriteRule ^()list-([0-9]+)-([0-9]+)html$ $1/index\php\m=content&c=index&a=lists&catid=$2&page=$3

apache的rewrite重写就是根据你输入的地址,访问你重定向以后的实际地址。一般来说,伪静态指的就是url显示的是html的,但是实际访问的是php文件,这叫伪静态。

如果你希望URL显示的就是listphpid=N这种形式,就不是伪静态了,是强制跳转。一般是用于空白页面或者参数不合法时的跳转,如果你真希望这样做,只需要如下修改:

RewriteRule ^list-([0-9]+)\html$ list\php\id=$1 [R]

也就是在重写的末尾加上R,R的意思就是强制跳转。

如果对你有帮助,希望采纳,如果有疑问,可以继续追问或者百度HI留言。谢谢。

以上就是关于php伪静态.全部的内容,包括:php伪静态.、php如何实现网页静态、PHP本地如何实现伪静态页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9737288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存