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语法速查表
Dec 06 PHP
php中常用编辑器推荐
Jan 02 PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
PHP文件上传原理简单分析
May 29 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 PHP
php静态文件生成类实例分析
Jan 03 PHP
php简单图像创建入门实例
Jun 10 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 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多用户计数器代码
2007/03/11 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
理解javascript闭包
2015/12/15 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
Django中使用Celery的教程详解
2018/08/24 Python
kafka-python批量发送数据的实例
2018/12/27 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
化妆品店促销方案
2014/02/24 职场文书
委托书的写法
2014/08/30 职场文书
处罚决定书范文
2015/06/24 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL