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 相关文章推荐
dedecms模版制作使用方法
Apr 03 PHP
php 中文处理函数集合
Aug 27 PHP
php 数组二分法查找函数代码
Feb 16 PHP
php中大括号作用介绍
Mar 22 PHP
基于xcache的配置与使用详解
Jun 18 PHP
php目录拷贝实现方法
Jul 10 PHP
PHP微信红包API接口
Dec 05 PHP
Yii2创建表单(ActiveForm)方法详解
Jul 23 PHP
PHP将数据导出Excel表中的实例(投机型)
Jul 31 PHP
PHP中递归的实现实例详解
Nov 14 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
Aug 17 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出错界面
2006/10/09 PHP
php检测图片木马多进制编程实践
2013/04/11 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
php封装的smarty类完整实例
2016/10/19 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python3爬取数据至mysql的方法
2018/06/26 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
Python&amp;&amp;GDAL实现NDVI的计算方式
2020/01/09 Python
python实现吃苹果小游戏
2020/03/21 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
金融与证券专业求职信
2014/06/22 职场文书
音乐幼师求职信
2014/07/09 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
导游词之峨眉山
2019/12/16 职场文书
详解Spring Boot使用系统参数表提升系统的灵活性
2021/06/30 Java/Android
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python
python读取mat文件生成h5文件的实现
2022/07/15 Python