基于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的面试题集,附我的答案和分析(一)
Nov 19 PHP
IIS7.X配置PHP运行环境小结
Jun 09 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
php curl post 时出现的问题解决
Jan 30 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
使用PHP编写发红包程序
Jul 22 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
Yii框架分页实现方法详解
May 20 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
Laravel 实现密码重置功能
Feb 23 PHP
YII框架http缓存操作示例
Apr 29 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 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
PHP中创建并处理图象
2006/10/09 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
PHP基础知识介绍
2013/09/17 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
JavaScript入门教程 Cookies
2009/01/31 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
javascript中的面向对象
2017/03/30 Javascript
node 利用进程通信实现Cluster共享内存
2017/10/27 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
Python中的包和模块实例
2014/11/22 Python
Python脚本实现12306火车票查询系统
2016/09/30 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
详解Python3 基本数据类型
2019/04/19 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
IE9下html5初试小刀
2010/09/21 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
关爱留守儿童标语
2014/06/18 职场文书
小学生读书笔记
2015/07/01 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle