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 相关文章推荐
PHP 执行系统外部命令 system() exec() passthru()
Aug 11 PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
Thinkphp多文件上传实现方法
Oct 31 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
php中的动态调用实例分析
Jan 07 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
Apr 23 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
php动态函数调用方法
2015/05/21 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
js操作二级联动实现代码
2010/07/27 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
微信小程序分页加载的实例代码
2017/07/11 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
python实现远程控制电脑
2019/05/23 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
追悼会子女答谢词
2014/01/28 职场文书
2014植树节活动总结
2014/03/11 职场文书
土地转让协议书
2014/09/27 职场文书
个人查摆剖析材料
2014/10/16 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
Python实现天气查询软件
2021/06/07 Python