Heim >Backend-Entwicklung >PHP-Tutorial >php实现伪静态的二种方法介绍

php实现伪静态的二种方法介绍

WBOY
WBOYOriginal
2016-07-25 08:59:42988Durchsuche
  1. /**
  2. * php伪静态
  3. * bbs.it-home.org
  4. */
  5. $conn=mysql_connect("localhost","root","root")or dir("连接失败");
  6. mysql_select_db("tb_demo",$conn);
  7. $sql="select * from news";
  8. $res=mysql_query($sql);
  9. header("content-type:text/html;charset=utf-8");
  10. echo "

    新闻列表

    ";
  11. echo "添加新闻
    ";
  12. echo "";
  13. echo "
  14. ";
  15. while($row=mysql_fetch_assoc($res)){
  16. echo "
  17. ";
  18. }
  19. //上面的红色的地址本来该是show_news.php?act=look&id={$row['id']}
  20. echo "
  21. id 标题 查看详情 修改新闻
    {$row['id']} {$row['title']} 查看详情 修改页面
    ";
  22. //关闭资源
  23. mysql_free_result($res);
  24. mysql_close($conn);
  25. ?>
复制代码

2、show_new.php页面

  1. header("Content-type:text/html;charset=utf-8");
  2. $conn=mysql_connect("localhost","root","root");
  3. mysql_select_db("tb_demo",$conn);
  4. mysql_query("set names utf8");
  5. $pa = $_SERVER['PATH_INFO'];
  6. //$pa 打印出来的值是 /look-id-1.html
  7. //通过正则表达式匹配获取的url地址
  8. if(preg_match('/^\/(look)-(id)-([\d])\.shtml$/',$pa,$arr)){
  9. $act = $arr[1]; //这个是请求的look方法
  10. $id = $arr[3]; //这个是获取的id 值
  11. $sql="select * from news where id= $id";
  12. $res=mysql_query($sql);
  13. $res = mysql_fetch_assoc($res);
  14. echo $res['title']."
    ".$res['content'];
  15. }else{
  16. echo "url地址不合法";
  17. }
  18. mysql_close($conn);
  19. ?>
复制代码

二、根据配置.htaccess来实现 先说下.htaccess文件怎么创建吧,在网站根目录下建立个记事本然后双击打开点击另存为 文件名写成.htaccess ,保存类型选择所有文件,编码选择utf-8的编码好的这是你就在目录看到这个.htaccess文件了。

首先,在apache 开启mod_rewrite.so,AllowOverride None 这里有两处 替换为 AllowOverride All。

比如href 地址写成 one_new-id-1.shtml //这个意思是one_new.php?id=1 这里的.htaccess这样写:

  1. #写你的rewrite规则
  2. RewriteEngine On
  3. # 可以配置多个规则,匹配的顺序是从上到下
  4. RewriteRule one_new-id-(\d+)\.shtml$ one_new.php?id=$1 //这里的$1 代表的是第一个参数啊
  5. RewriteRule abc_id(\d+)\.html$ error.php
  6. #设置404错误
  7. #ErrorDocument 404 /error.php
复制代码

在one_new.php 页面echo $_GET['id'] 肯定会输出 id的值了。

就介绍这些吧,php实现伪静态还是很简单的,希望大家多多实践,写出更加灵活而轻便的伪静态规则。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn