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+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
php学习笔记 数组遍历实现代码
Jun 09 PHP
基于Linux调试工具strace与gdb的常用命令总结
Jun 03 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
使用php清除bom示例
Mar 03 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 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函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
js倒计时小程序
2013/11/05 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
Python 自动补全(vim)
2014/11/30 Python
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
用Python解数独的方法示例
2019/10/24 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
什么是规则表达式
2012/05/03 面试题
党员干部学法用法心得体会
2016/01/21 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL