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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
个人站长制做网页常用的php代码
Mar 03 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
php按单词截取字符串的方法
Apr 07 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
微信支付的开发流程详解
Sep 13 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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 park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
php实现URL加密解密的方法
2016/11/17 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
JS版网站风格切换实例代码
2008/10/06 Javascript
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
Python logging模块学习笔记
2014/05/24 Python
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python正则表达式完全指南
2017/05/25 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
2014年计算机专业个人自我评价
2014/01/19 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
小学家长意见怎么写
2015/06/03 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle