php实现伪静态

伪静态主要是为了SEO而存在的一种技术,又名URL重写。至于为什么要实现伪静态这里就不详细解释了。一般实现伪静态技术都是使用apache服务的mod_rewrite功能,通过在名为.htaccess的文件里面书写一些rewrite规则的正则来实现URL重写技术,这种技术本篇不做详解,下面以程序为例主要讲一下利用PHP程序实现伪静态的方法。

下面就是实现伪静态的php函数

  1. <?php 
  2. /* 
  3. 功能:PHP伪静态化页面的实现 
  4. */ 
  5. function mod_rewrite(){ 
  6.     global $_GET
  7.     $nav=$_SERVER['REQUEST_URI']; 
  8.     $script_name=$_SERVER['SCRIPT_NAME']; 
  9.     $nav=substr(ereg_replace("^$script_name",'',urldecode($nav)),1); 
  10.     $nav=preg_replace('/^.ht(m){1}(l){0,1}$/','',$nav);//这句是去掉尾部的.html或.htm 
  11.     $vars = explode('/',$nav); 
  12.     for($i=0;$i<Count($vars);$i+=2){ 
  13.         $_GET[$vars[$i]]=$vars[$i+1]; 
  14.     } 
  15.     return $_GET

例如对于如下这样的链接地址:

  1. http://www.daimajiayuan.com/index.php/controller/user/action/login.html 

经过函数处理后,我们就可以得到他的链接原型了:

  1. http://www.daimajiayuan.com/index.php?controller=user&action=login 

该函数的具体用法如下:

  1. <?php 
  2. mod_rewrite(); 
  3. $yearn=$_GET["controller"];//结果为'user' 
  4. $action=$_GET["action"];//结果为'login.html' 
  5.  
  6. echo '<pre>'
  7. print_r($_GET); 

至于具体情况,读者可根据自己的情况来吧,这里就不多说了。

以上通过php程序代码实现的伪静态技术唯一不够完美的是URL里面还是包含有.php这样的字符,让人有点不爽,不过对于搜索引擎来说,这个不算是个缺陷,他就是一个静态文件。

转载请注明:代码家园 » php实现伪静态

也许你会喜欢和关注与本文内容高度相关的文章:

php如何用程序实现伪静态

WordPress中用于更新伪静态规则的PHP代码实例讲解

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)