基于php伪静态的实现详细介绍


Posted in PHP onApril 28, 2013

1.根据$_SERVER['PATH_INFO']来操作实现。
   举个列子比如你的网站的地址是 http://127.0.0.1/show_new.php/look-id-1.shtml
你echo $_SERVER['PATH_INFO'] 出来的结果就会是 /look-id-1.shtml 看到这个我想大家可能已经明白了。
完整的demo
index.php

index.php 
$conn=mysql_connect("localhost","root","root")or dir("连接失败");
mysql_select_db("tb_demo",$conn);
$sql="select * from news";
$res=mysql_query($sql);
header("content-type:text/html;charset=utf-8");
echo "<h1>新闻列表</h1>";
echo "<a href='add_news.html'>添加新闻</a><hr/>";
echo "<table>";
echo "<tr><td>id</td><td>标题</td><td>查看详情</td><td>修改新闻</td></tr>";
while($row=mysql_fetch_assoc($res)){
 echo "<tr><td>{$row['id']}</td><td>{$row['title']}</td><td><a href='show_new.php/look-id-{$row['id']}.shtml'>查看详情</a></td><td><a href='#'>修改页面</a></td></tr>";
}
//上面的红色的地址本来该是show_news.php?act=look&id={$row['id']}
echo "</table>";
//关闭资源
mysql_free_result($res);
mysql_close($conn);

show_new.php页面
show_new.php 
header("Content-type:text/html;charset=utf-8");
$conn=mysql_connect("localhost","root","root");
mysql_select_db("tb_demo",$conn);
mysql_query("set names utf8");
 $pa = $_SERVER['PATH_INFO'];
//$pa  打印出来的值是  /look-id-1.html
//通过正则表达式匹配获取的url地址
if(preg_match('/^\/(look)-(id)-([\d])\.shtml$/',$pa,$arr)){
 $act = $arr[1]; //这个是请求的look方法
 $id = $arr[3];  //这个是获取的id 值
 $sql="select * from news  where id= $id";
 $res=mysql_query($sql);
 $res = mysql_fetch_assoc($res);
 echo $res['title']."<hr>".$res['content'];
}else{
 echo "url地址不合法";
}
mysql_close($conn);

看到上面的这个我想大家肯定懂了吧   其实这种方式用的不多的下面的给大家说第二种方法了啊

2.根据配置.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 就可以这么写了

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

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

 说明:这个目前个人能力只能写到这里了 我以后会逐渐完善 的
 有问题可以给我留言啊

PHP 相关文章推荐
PHP初学者头疼问题总结
Oct 09 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
简单实用的.net DataTable导出Execl
Oct 28 PHP
php输出xml属性的方法
Mar 19 PHP
php判断访问IP的方法
Jun 19 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
php利用smtp类实现电子邮件发送
Oct 30 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
PHP将URL转换成短网址的算法分享
Sep 13 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
Laravel第三方包报class not found的解决方法
Oct 13 PHP
php无限极分类实现的两种解决方法
Apr 28 #PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 #PHP
基于php权限分配的实现代码
Apr 28 #PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 #PHP
phpcms模块开发之swfupload的使用介绍
Apr 28 #PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 #PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 #PHP
You might like
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
javascript 触发事件列表 比较不错
2009/09/03 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
JS打印组合功能
2016/08/04 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python同时遍历两个list用法说明
2020/05/02 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
一年级评语大全
2014/04/23 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
教师工作表现评语
2014/12/31 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS