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手册及PHP编程标准
Dec 17 PHP
AJAX for PHP简单表数据查询实例
Jan 02 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
解析php中curl_multi的应用
Jul 17 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
PHP正则表达式入门教程(推荐)
May 18 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
php微信开发之音乐回复功能
Jun 14 PHP
php微信公众号开发之校园图书馆
Oct 20 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 27 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
xml+php动态载入与分页
2006/10/09 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
php实现头像上传预览功能
2017/04/27 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
任意位置显示html菜单
2007/02/01 Javascript
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
js里面的变量范围分享
2020/07/18 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
Python单元测试框架unittest简明使用实例
2015/04/13 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
大学生思想汇报范文
2013/12/31 职场文书
教师学习培训邀请函
2014/02/04 职场文书
班风学风建设方案
2014/05/06 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
计生个人工作总结
2015/02/28 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
四年级作文之植物
2019/09/20 职场文书