很多站长朋友们都不太清楚php伪静态讲解,今天小编就来给大家整理php伪静态讲解,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php中伪静态 2、 php 伪静态是什么意思?怎么做? 3、 什么叫php伪静态? 4、 什么是伪静态?伪静态有何作用 php中伪静态apache的rewrite重写就是根据你输入的地址,访问你重定向以后的实际地址。一般来说,伪静态指的就是url显示的是.html的,但是实际访问的是php文件,这叫伪静态。
如果你希望URL显示的就是list.php?id=N这种形式,就不是伪静态了,是强制跳转。一般是用于空白页面或者参数不合法时的跳转,如果你真希望这样做,只需要如下修改:
RewriteRule ^list-([0-9]+)\.html$ list\.php\?id=$1 [R]
也就是在重写的末尾加上R,R的意思就是强制跳转。
如果对你有帮助,希望采纳,如果有疑问,可以继续追问或者百度HI留言。谢谢。
php 伪静态是什么意思?怎么做?说简单点,伪静态,就是用户看到的地址以html.htm等静态页面的链接,实际还是动态页过,通过一些规则配置,显示在浏览器中的地址变为静态而以。
举个简单的例子:
比如你的页面为/index.php
通过伪静态显示在浏览器是index.html
什么叫php伪静态?mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法
1.检测Apache是否支持mod_rewrite
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
2.让apache服务器支持.htaccess
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),
用文本编辑器打开后,查找
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
就可以了。
3.建立.htaccess 文件
有1种最简单的方法建立.htaccess文件:
用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,
也就是包含英文引号,然后点击保存就行了。
4.rewrite规则学习
我们新建一个.htaccess文件之后,就在里面写入以下内容:
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
RewriteRule ([0-9]{1,})$index.php?id=$1
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数
字组成的,$是结束标志,说明是以数字结束!
好吧,现在我们可以实现伪静态页面了,写下一下的规则:
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1id=$2
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1id=$2是要替换的格式,$1代表第
一个括号匹配的值,$2代表第二个,如此类推!!
我们写一个处理的PHP脚本:
index.php
PHP代码
echo ‘你的Action是:’ . $_GET['action'];
echo ‘
’;
echo ‘你的ID是:’ . $_GET['id'];
?>
好了,我们现在在浏览器中输入:
localhost/page-18.html
输出的是:
你的Action是:page
你的ID是:18
什么是伪静态?伪静态有何作用什么是伪静态
伪静态是相对真实静态来讲的,通常为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。
区别静态
1、从URL结构以及页面名称看,伪静态和静态页面是一样的。伪静态的页面后缀可以是htmlhtm或者是目录格式
2、伪静态只是改变了URL的表现形式,实际上还是动态页面
静态页面可以节省服务器资源,而伪静态严格说是增加服务器资源消耗的
3、总结,在SEO方面,伪静态和静态页面的功能是相同的,但是伪静态本质上还是动态页面,所以消耗资源是和动态页面一样的,而且因为Rewrite服务器还需要消耗额外的资源。
主要不足
1、CPU占有量
"如果流量稍大一些使用伪静态就出现CPU使用超负荷,比如同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂,网站的IIS数是1000。由于伪静态是用正则判断而不是真实地址,分别显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,是伪静态最大的弊病。
2、网站承受力低。
伪静态会造成网站可承受同时在线人数剧减。如果网站可以保证1000人同时访问的话,那么做了伪静态处理之后,300人访问就足以让网站挂掉。
3、网页打开慢。
伪静态页面打开速度快?伪静态仍然要读取数据库,还额外的多了一个重写网址的过程,其他的步骤绝对不会比动态少,所以不快!
4、大量的重复页面。
做了伪静态后,原有的页面也可以访问,这就造成了大量的伪静态页面和动态页面重复,对网站极为不好。
5、需要服务器支持。
并不是所有的服务器都支持伪静态的,这无形中又增加了成本。
所以,如果网址中的动态参数没有达到影响搜索引擎收录的程度,动态要比伪静态好的多。
6、造成真正的静态网页无法访问。
如果把php伪静态成html,那么真正的静态页就无法访问了。(可通过修改服务器配置解决。)
如何选择
1、使用真静态和伪静态对SEO来说没有什么区别
2、使用真静态可能将导致硬盘损坏并将影响站点性能(这个实在是个谬论,非静态的对硬盘的读取次数胜过真静态)
3、使用伪静态将占用一定量的CPU占有率,大量使用将导致CPU超负荷
4、最重要的一点,静态是为了SEO
5、真静态的访问速度明显比伪静态的访问速度要高
所以:
1、使用真静态的方法可以直接排除了,因为无论怎么生成,对硬盘来说都是很伤的。(这个完全是乱讲了,真静态可以提高网站的性能,减少数据库的访问压力,减少CPU和内存的压力。)
2、既然真伪静态的效果一样,可以选择伪静态了。
3、但是伪静态大量使用会造成CPU超负荷。
4、所以只要不大量使用就可以了。
5、既然伪静态只是给搜索引擎爬虫看的,只需伪静态给搜索引擎爬虫就行了,不需要给用户使用。
6、所以只要在专门提供给搜索引擎爬虫 (搜索引擎机器人)爬的Archiver中使用伪静态就可以了。
关于php伪静态讲解的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php伪静态讲解 php伪静态教程的详细内容...