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 删除记录实现代码
Mar 12 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
关于php mvc开发模式的感想
Jun 28 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
php简单分页类实现方法
Feb 26 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
纯php生成随机密码
Oct 30 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
PHP7新功能总结
Apr 14 PHP
php将xml转化对象的实例详解
Nov 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 删除cookie和浏览器重定向
2009/03/16 PHP
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
php文件缓存类汇总
2014/11/21 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
28个JS验证函数收集
2010/03/02 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
Python实现的tab文件操作类分享
2014/11/20 Python
python实现下载文件的三种方法
2017/02/09 Python
Python做简单的字符串匹配详解
2017/03/21 Python
浅析python参数的知识点
2018/12/10 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
Linux如何为某个操作添加别名
2015/02/05 面试题
经典团队口号大全
2014/06/21 职场文书
大学计划书范文800字
2014/08/14 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL
Python图片检索之以图搜图
2021/05/31 Python