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.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
各种快递查询--Api接口
Apr 26 PHP
PHP接收App端发送文件流的方法
Sep 23 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 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代码
2010/07/17 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
Python探索之SocketServer详解
2017/10/28 Python
python读取中文txt文本的方法
2018/04/12 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
一百行python代码将图片转成字符画
2021/02/19 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
python 两种方法删除空文件夹
2020/09/29 Python
Python高并发和多线程有什么关系
2020/11/14 Python
selenium如何定位span元素的实现
2021/01/13 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
css3 矩阵的使用详解
2018/03/20 HTML / CSS
小学语文教学反思
2014/02/10 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
学生会自荐信
2019/05/16 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python