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来实现。

Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。

主要步骤如下: 1.检测Apache是否开启mod_rewrite功能     可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 httpd.conf 文件,再找到“LoadModule rewrite_module”,将前面的”#”号删除即表示取用该功能。    如果没有查找到“LoadModule” 区域,可以在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(独占一行),之后重启apache服务器。再通过phpinfo()函数查看环境配置就有“mod_rewrite”为项了.。

2.让apache服务器支持.htaccess    如何让自己的本地APACHE服务器支持:“htaccess”呢? 只需修改apache的httpd.conf设置就可以让 APACHE支持“.htaccess”了。打开 APACHE目录的CONF目录下的httpd.conf文件,找到: Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 就行了。

3.建立.htaccess 文件    建立.htaccess文件时要注意,不能直接建,方法是通过记事本中的另存为菜单,在文件名窗口输入:“.htaccess”,然后点击保存。

4.rewrite规则学习    在新建.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$index.php?id=$1 在这里,RewriteRule是重写规则,是用正则表达式的句子,([0-9]{1,})表示由数字组成的,$表示结束标志,表示以数字结束!如果要实现伪静态页面,规则如下: RewriteEngine on RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2 在为个正则表达式中,([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第1括号匹配的值,$2代表第二个括号的值,如此类推! 测试PHP脚本如下: index.php文件中的代码如下: echo ‘你的Action值为:’ . $_GET['action']; echo ‘ ’; echo ‘ID值为:’ . $_GET['id']; ?>

在浏览器地址栏输入: localhost/page-18.html 输出的是: 你的Action值为:page ID值为:18

转载于:https://www.cnblogs.com/mjyblog/p/4526641.html

PHP如何实现网址伪静态相关推荐

  1. php软件开发--sphinx索引静态化及伪静态

    sphinx索引: sphinx简介如果要加快查询只能使用第三方软件,sphinx和lucence.mysql5.6版本中的innodb1.2的版本也同样支持全文索引中文名:全文索引引擎.只支持英文和 ...

  2. 页面静态化(JSP动态页面转静态化)相关

    urlrewritefilter 下载:http://tuckey.org/urlrewrite/#download 所用基于动态的url http://www.nihaoblog.com/conte ...

  3. Discuz!论坛各版本通用SEO优化设置教程

    网址伪静态设置 后台->全局->SEO设置->URL静态化,如下图: 开启各个模块的伪静态之后,可以点击"查看当前的Rewrite规则",根据自己服务器的情况设置 ...

  4. php中上传图片,原生代码

    一.实现图片上传方法一 html的写法: <form action="handle.php" name="form" method="post& ...

  5. php 传智播客 学习内容

    第一阶段:(PHP+MySQL核心编程) 课程名称 阶段课程 课程内容 学习目标 PHP+MySQL核心编程(21天) PHP基本语法加强 Apache--directory配置段 一个IP和多个域名 ...

  6. zblog php视频教程,ZBlog使用教程:ZBlogPHP基本设置和后台管理

    上一次我们跟大家介绍了<ZBlog使用教程:ZBlogPHP安装方法>,初建成一个 ZBlog 网站后最紧要的就是开始管理网站,那么接下来益吾库将继续跟大家介绍 ZBlogPHP 后台管理 ...

  7. 最新织梦DEDECMS全站目录化伪静态设置(网址和生成静态地址一样、电脑和手机访问地址也一样)

    最新织梦DEDECMS全站目录化伪静态设置,伪静态设置成功后,网址和生成静态地址一样.电脑和手机访问地址也一样. 如果你电脑端是生成静态而手机端是动态的话,请查看织梦手机端伪静态设置http://ww ...

  8. IIS 伪静态下 利用PHP获取 网址后缀

    $_SERVER['HTTP_X_ORIGINAL_URL']; 转载于:https://www.cnblogs.com/paddygege/p/7238228.html

  9. finecms设置伪静态后分享到微信不能访问怎么处理

    finecms设置伪静态后分享到微信不能访问,分享的链接自动增加了一串参数,类似这样的***.html?from=singlemessage&isappinstalled=0,刚开始ytkah ...

最新文章

  1. Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
  2. 是否顺应互联网大脑的发育趋势决定科技企业兴衰
  3. 通过nginx配置文件抵御攻击,防御CC攻击的经典思路!
  4. 021_html文本格式化标签
  5. PyCharm的配置与安装
  6. html页面vertical,vertical.html
  7. Vert.x中EventBus中的使用
  8. Python字符串| 带示例的format()方法
  9. 【CodeForces - 245H 】Queries for Number of Palindromes (带容斥的区间dp)
  10. Python 线程条件变量 Condition - Python零基础入门教程
  11. LaTeX学习经验与常用文档
  12. ((ios开发学习笔记 十二))Nib加载的方式实现自定义TableView
  13. 《Java大学教程》—第23章 Java网络编程
  14. 苹果6s强制删除id锁_#Vlog# 苹果7绕过id激活锁
  15. CAN数据格式-ASC
  16. 侧方位停车技巧图解 教你快速便捷停车(图)
  17. 年轻人住房实录:有人住进毛坯房,有人选择二手房
  18. html动态图片怎么设背景,微信8.0状态背景视频怎么设置?状态视频动态背景图设置教程[多图]...
  19. vos3000外呼系统话机或网关注册掉线或未注册怎样解决
  20. 华南师范大学计算机学院男生宿舍,最全!广东68所本科高校宿舍汇总!你的宿舍豪华还是简陋?...

热门文章

  1. 心爱SEO博客开通了请光临百度
  2. 问题 E: 求1+2+...+n=?
  3. c语言算法课件,《C语言常见算法》PPT课件.ppt
  4. 两个有序链表序列的合并_leetcode链表之合并两个排序的链表
  5. soul刷屏编程代码_奔涌吧,编程!少儿编程教育在未来会像语文,数学一样重要!...
  6. 测试面试题集-3.生活物品测试:行李箱、电梯、洗衣机
  7. Macos 12 打不开微信解决方案
  8. C#通过反射动态加载dll,读取module、类、方法、特性,并通过反射+简单工厂+配置文件 实现ioc
  9. YFI 核心开发者 banteg 推出 1:100 万拆分 YFI 代币的新项目 Woofy
  10. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌1.54%