[PHP] PHP初学者想了解"伪静态",必须看这个贴 [复制链接] [推荐]

一、何为“伪静态”?

以传智播客bbs论坛为例,这篇帖子的链接地址原本应该是“http://bbs.itcast.cn/forum.php?mod=post&action=newthread&fid=181”,拼接好多参数,是不是看了之后“头疼”?不仅不好看,从seo的角度考虑,这类链接是非常不利于百度收录。所以,传智bbs论坛技术人员使用“伪静态”处理后,上面头疼的链接就是http://bbs.itcast.cn/thread-82858-1-1.html瞬间好看了很多,百度蜘蛛也会非常爱采集。

二、为何会有伪静态技术?

谈到这点,不能不说动态网页和静态网页,更不能不提他们二者优缺点。好了,那么问题来了, 怎么能结合静态网页和动态网页的优点呢?那就是伪静态。伪静态至少有三种优势:1.有 利用SEO 2. 防止sql注入  3. 不产生纯静态文件,因此不增加服务器负担!

静态网页优缺点:
    优点:
    1)静态网页的内容相对稳定,因此容易被搜索引擎检索;
    缺点:
    1)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
    2)静态网页的交互性交叉,在功能方面有较大的限制。
    动态网页优缺点:
    优点:
    1)动态网页以数据库技术为基础,可以大大减少降低网站维护的工作量;
    2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
    缺点:
   
1)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取
网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求

当然伪静态也是有自身的缺点,比动态还要占用cpu资源,多一层匹配,每次都数据库查询。 好多人天天念叨效率,
如果是做企业站用个P效率阿? 一共就那么几条信息, 如果是大型网站,
实体文件多了也是蛋疼的事,磁盘I/O更头疼。在我们实际开发中,不希望使用真静态, 但是又希望有利于SEO,那就考虑使用伪静态.

三、如何制作伪静态?

       说个简单例子吧, 比如文章详细页, 正常的调用是 bbs.itcast.cn/index.php?m=article&id=1, 这么不美观。我们要改成伪静态成为这种”bbs.itcast.cn/news/1.html“。

利用$article就是查询出来的数据是:

  1. <?php
  2. $article=array(‘id‘=>1,‘title‘=>‘发布i测试‘,‘content‘=>‘......‘ ......);
  3. echo "<a href=‘/news/{$article[‘id‘]}.html‘>{$article[‘title‘]}</a>";

复制代码

提供两种方法!

       nginx 规则

本帖隐藏的内容

rewrite ^/news/([0-9]+)\.html$ /index.php?m=article&id=$1 last;

       apache 的伪静态规则

本帖隐藏的内容

RewriteRule ^news/([0-9]+)\.html$ index.php?m=article&id$1 [L]

四、解释apache 的伪静态为什么这么写?

apache的伪静态写法主要分成4部分,这里大概解释一下 为什么这样写 :

本帖隐藏的内容

RewriteRule 固定这么写,不告诉你为啥
        ^news/([0-9]+)\.html$ 这部分是匹配当前的url地址, 也就是伪静态的地址
        [0-9]+ 表示至少有1个数字,可以是0也可以是无限大
        index.php?m=article&id=$1 这里是指向对应的真实地址
        $1 配对上面的第一个括号, $2匹配第二个以此类推
        [L] L意思是如果此规则匹配,则停止,不在匹配后面的,减少无必要查询 。
        如果无法理解建议查看正则视频教程:http://bbs.itcast.cn/thread-22094-1-1.html(最后一天课程就为正则)

时间: 2024-10-13 12:24:42

[PHP] PHP初学者想了解"伪静态",必须看这个贴 [复制链接] [推荐]的相关文章

一款好用的手机CAD看图软件,诚心推荐!

一款好用的手机CAD看图软件,诚心推荐!相信大家都会使用的就是PC端上面的CAD看图软件了,那么手机上也可以进行操作使用的CAD看图您们都会进行打开吗?今天小编就要来给大家安利一款好用的手机上面的CAD看图软件以及它的下载和操作流程,希望大家进行采纳! 第一步:首先要去到手机应用商店上面进行"迅捷CAD看图"软件的下载,如果你手机上面的应用商店中没有搜索到这款软件的话,您就可以选择去到官网上面直接进行下载或是在百度应用助手上面进行搜索下载即可!第二步:完成软件的下载之后将软件安装到您手

吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:让按钮看起来像个链接 (仍然保留按钮行为)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"

对Java初学者想说的

加了一些java相关的qq群,时不时的看到群里有人问java好学吗?或者是抱怨为什么报这么多错之类的问题.其实我觉着他们把这些用在问这些问题或者抱怨的时间花在学习上,肯定能有大的收获,我觉着这其实是一个态度的问题.那些问java好学吗之类问题的人,本身可能对java有一种畏惧感,我承认,我当初也有这个感觉,刚接触java的时候觉着这简直太tm难了,我到底能不能学会,后来硬着头皮学也就没多想了,不知不觉当中我发现自己掌握了很多的知识. java到底好学吗这个问题,确实不太好回答,站在不同的高度去同

想跳槽?先看什么是好工作

过完年了.非常多人想换工作,那究竟什么是好工作? 每年春节过后,旧的一年真的结束了,年终奖该拿的拿了,升职该升的升了,调薪该调的调了,而没有拿.升.调的,拿了.升了.调了还不惬意的.就開始春心萌动准备跳槽了. 所以这个时候,究竟什么是好工作这个问题就又冒出来了. 究竟什么是好工作?这是个问题,自从我在微信订阅号"程序视界"上開始公布程序猿职业相关的文章后,就一直在和不同的人讨论什么是好工作,什么样的工作更适合自己. 然而这个问题的答案从本质上讲,却能够一言以蔽之: 你喜欢的工作就是好工

初学者想搭建DVWA,关于DVWA的安装问题

phystudy--->   这个是一个连接服务器软件,安装时的目录必须是英文,不然会不支持 DVWA-->网上有用作渗透的网站 开源的,但需要自己搭建这时候就用到了phpstudy  将其解压缩后放入 phpstudy目录下的WWW中 然后 打开dvwa/config 中有个config.inc.php.dist将其在这个目录下复制一边,用记事本打开其中 任意一个 找到这段代码$_DVWA = array();$_DVWA[ 'db_server' ]   = '127.0.0.1';$_D

用java制作日历,想休息的时候看一看离周末还有几天!

呀!忙碌的每一天,都忘记了明天就是我们愉快周末了.今天没有朋友的闲聊的话,明天处在绷紧的状态呢!还有朋友提到,所有今天来跟大家分享一下用java来编写日历表,累了想休息了的时候,打开看看,还有几天到周末!那么我们来看一下代码,具体怎么实现吧! public class Demo6 { public static void main(String[] args) { Demo6 demo = new Demo6();               demo.show(2016,11);  //输入年

初学者想学数据分析,这五个Python库,简直就是为初学者量身定制

如果你已经决定把Python作为你的编程语言,那么,你脑海中的下一个问题会是:"进行数据分析有哪些Python库可用?" Numpy 对于科学计算,它是Python创建的所有更高层工具的基础.以下是它提供的一些功能: 1. N维数组,一种快速.高效使用内存的多维数组,它提供矢量化数学运算 . 2. 你可以不需要使用循环,就对整个数组内的数据行标准数学运算. 3. 非常便于传送数据到用低级语言(如C或C++)编写的外部库,也便于外部库以Numpy数组形式返回数据. NumPy不提供高级数

有人想让你帮忙看下Linux服务器

1.这里有一堆服务器,不知道他们是什么IP,你去看一下查完IP后贴个标签? 答:收到.查看IP乍一听,简单至极."ifconfig"嘛.[尴尬不][科普]ifconfig是net-tools中已被废弃使用的一个命令,net-tools在很多年前就不在更新,在新版本的电脑里基本全是iproute2.iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务. [net-tools与iproute2]ifconfig

我想做软件测试,阿里的表哥给我推荐了这8本书

真的勇士, 敢于直面惨淡的 warning . 敢于正视淋漓的 error ! 有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运. 表哥本名就不说了吧,花名Carvin,已经是8年测试的老兵了,走过5家公司,从测试菜鸟到经理,带着测试团队负责公司的整个产品体系.专注测试职业探索.测试管理.项目管理.面试技巧:分享自