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 相关文章推荐
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
php函数连续调用实例分析
Jul 30 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
PHP实现的数独求解问题示例
Apr 18 PHP
PHP编程计算文件或数组中单词出现频率的方法
May 22 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 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
Zend公司全球首推PHP认证
2006/10/09 PHP
一步一步学习PHP(1) php开发环境配置
2010/02/15 PHP
PHP数组实例总结与说明
2011/08/23 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
php获取远程文件大小
2015/10/20 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
解决vue的router组件component在import时不能使用变量问题
2020/07/26 Javascript
Python中逗号的三种作用实例分析
2015/06/08 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
Python 错误和异常代码详解
2018/01/29 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
python数值基础知识浅析
2019/11/19 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
Python中logging日志库实例详解
2020/02/19 Python
Python实现代码块儿折叠
2020/04/15 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
Python datetime 如何处理时区信息
2020/09/02 Python
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
护理实习自我鉴定
2013/12/14 职场文书
小学生打架检讨书
2014/01/26 职场文书
质量整改通知单
2015/04/21 职场文书
荒岛余生观后感
2015/06/09 职场文书
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python