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 相关文章推荐
解决GD中文乱码问题
Feb 14 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
PHP 文件编程综合案例-文件上传的实现
Jul 03 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
php析构函数的简单使用说明
Aug 24 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
Dec 09 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 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修正代码
2011/05/09 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
python如何实现复制目录到指定目录
2020/02/13 Python
Python中logging日志库实例详解
2020/02/19 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
企业车辆管理制度
2014/01/24 职场文书
干部考核评语
2014/04/29 职场文书
二人合伙经营协议书
2014/09/13 职场文书
个人授权委托书范文
2014/09/21 职场文书
安装工程师岗位职责
2015/02/13 职场文书
js判断两个数组相等的5种方法
2022/05/06 Javascript