PHP+APACHE实现网址伪静态


Posted in PHP onFebruary 22, 2015

 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

 

呵呵,改写成功!

下面将我自己配置伪静态的一些个人经验分享一下:

开始接触伪静态,看着很神奇,以为很难,其实很简单,就是在服务器中多配置几个虚拟域名,类似真正的访问网址。  只需三步

A.首先 在Apache  Apache模块中,开启 vhost_alias_moudle

B.修改httpd.conf文件,在这个文件中,搜索rewrite  .找到  LoadModule rewrite_module modules/mod_rewrite.so    去掉前面的#

C.修改这个文件,在路径  D:\wamp\bin\apache\Apache2.2.21\conf\extra 下的httpd-vhosts.conf 文件,照着示例加一个就OK了

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host2.example.com

DocumentRoot "d:/wamp/www/dz"

ServerName localhost.www.dz.cn

ErrorLog "logs/dummy-host2.example.com-error.log"

CustomLog "logs/dummy-host2.example.com-access.log" common

</VirtualHost>

D.在路径  C:\Windows\System32\drivers\etc 下 的 hosts 文件中配置一下

127.0.0.1 localhost.www.dz.cn   重启服务即可。              大功告成!

 ****************************************************************************  大家新年快乐!

注明:在浏览器输入中  localhost.www.dz.cn,即可访问,我加一个localhost是为了和正式的网址加以区别。有不懂的可以联系我,方便大家一起探讨,共同进步!

   你的伪静态规则全部写在 .htaccess 文件中,由于已经开启了伪静态,会默认加载该文件。  写这个.htaccess 文件 要会写正则哦,学习一些正则基础吧!

PHP 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
PHP 输出缓存详解
Jun 20 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
PHP读取文件内容后清空文件示例代码
Mar 18 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
PHP获取当前完整URL地址的函数
Dec 21 PHP
PHP连接操作access数据库实例
Mar 30 PHP
PHP数据库表操作的封装类及用法实例详解
Jul 12 PHP
PHP 无限级分类
May 04 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 PHP
php数组键名技巧小结
Feb 17 #PHP
php使用explode()函数将字符串拆分成数组的方法
Feb 17 #PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 #PHP
php实现两个数组相加的方法
Feb 17 #PHP
php选择排序法实现数组排序实例分析
Feb 16 #PHP
php插入排序法实现数组排序实例
Feb 16 #PHP
php实现递归与无限分类的方法
Feb 16 #PHP
You might like
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
Python enumerate遍历数组示例应用
2008/09/06 Python
Python字符串中查找子串小技巧
2015/04/10 Python
python实现的希尔排序算法实例
2015/07/01 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
《燕子专列》教学反思
2014/02/21 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
品质口号大全
2014/06/17 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
Python 可迭代对象 iterable的具体使用
2021/08/07 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript