国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > PHP伪静态入门基于教程

PHP伪静态入门基于教程

来源:程序员人生   发布时间:2014-04-07 17:00:26 阅读次数:3617次

在php中我们可以利用apache来实现伪静态也可以利用php来操作,但是目前我只知道 apache的伪静态和php代码的伪静态.

Apache伪静态html(URL Rewrite)设置法

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

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

1、apache

现在我们可以实现伪静态页面了,写下一下的规则:

实例代码如下:

  1. <ifmodule mod_rewrite.c> #liunx下需要写 
  2. rewriteengine on 
  3. rewriterule ([a-za-z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2 
  4. </ifmodule> 

([a-za-z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,然后重启动apache

2、.htaccess 在目录里新建个文件命名为 .htaccess、.htaccess文件的书写在网站根目录下建立一个文件,名称是.htaccess,书写方式:

实例代码如下:

  1. RewriteEngine on  #开启重写 
  2. RewriteRule ^/$ index.php  #表示用“/”就可以访问index.php 
  3. RewriteRule ^about_(d*)/$ about/about.php?id=$1  #表示可以使用about_22/访问到about/about.php?id=22页面.注意$前面的“/” 
  4. RewriteRule ^about_(d*).html$ about/about.php?id=$1  #表示可以使用about_22.html访问到about/about.php?id=22页面RewriteRule ^news_(d*)_(d*).html$ news/news.php?id=$1&page=$2  #表示可以使用news_11_2.html访问到news/news.php?id=11&page=2页面.$1表示第一个参数,$2表示第二个参数 

从上面可以看出,如果我们有下面的链接

<a href="/about_22/">关于我们</a>

那么我们访问到的页面与使用下面访问的页面一样

<a href="/about/about.php?id=22">关于我们</a>

2.php代码

比如:http://www.xxxx.com/soft.php/1,100,8630.html

实例代码如下:

  1. < ?php 
  2. //利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html 也就是执行脚本名后面的部分 
  3. if(@$path_info =$_SERVER["PATH_INFO"]){ 
  4. //正则匹配一下参数 
  5. if(preg_match("//(d+),(d+),(d+).html/si",$path_info,$arr_path)){ 
  6. $gid =intval($arr_path[1]); //取得值 1 
  7. $sid =intval($arr_path[2]); //取得值100 
  8. $softid =intval($arr_path[3]); //取得值8630 
  9. }else die("Path:Error!"); 
  10. //相当于soft.php?gid=1&sid=100&softid=8630 
  11. }else die('Path:Nothing!'); 
  12. //就是这么简单了.~) 
  13. ?>
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生