phpstudy配置伪静态的方法
来源:互联网 发布:同济大学软件学院 编辑:程序博客网 时间:2024/05/16 12:10
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法
1.检测Apache是否支持mod_rewrite
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块配置,如果里面包括了“mod_rewrite”,则表示已经支持伪静态,不需要再次修改配置。如果没有开启“mod_rewrite”,则找到并打开您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。如果没有查找到“LoadModule rewrite_module”,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
2.让apache服务器支持.htaccess
如何让自己的本地Apache服务器支持”.htaccess”呢? 其实只要简单修改一下apache的httpd.conf设置就可以让 Apache支 持.htaccess了。打开httpd.conf文件(在那里? Apache目录的conf目录里面),
用文本编辑器打开后,查找 FollowSymLinks Options FollowSymLinks AllowOverride None
改为 Options FollowSymLinks AllowOverride All
就可以了。
3.建立.htaccess 文件
有1种最简单的方法建立.htaccess文件:
用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个部分,也就是包含英文引号,然后点击保存就行了。
4.rewrite规则学习
我们新建一个.htaccess文件之后,就在里面写入以下内容:RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭RewriteRule ([0-9]{1,})$index.php?id=$1
RewriteRule
是重写规则,支持正则表达式的,上面的([0-9]{1,})
是指由数字组成的,$
是结束标志,说明是以数字结束!
好吧,现在我们可以实现伪静态页面了,写下一下的规则:
RewriteEngine onRewriteRule ([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
代表第一个括号匹配的值,$2
代表第二个,如此类推!!
测试PHP脚本如下: index.php
文件中的代码如下:
echo ‘你的Action值为:’ . $_GET['action']; echo ‘ID值为:’ . $_GET['id'];
在浏览器地址栏输入: localhost/page-18.html
输出的是: 你的Action值为:page ID值为:18
常用示例
RewriteEngine OnRewriteRule index.html index.php比如:http://www.yzzmf.com/index.html -> http://www.yzzmf.com/index.php
RewriteRule ^test([0-9]*).html$ test.php?id=$1比如:http://www.yzzmf.com/test8.html -> http://www.yzzmf.com/test.php?id=8
RewriteRule ^cat-([0-9]+)-([0-9]+)\.html$ cat.php?id1=$1&id2=$2比如:http://www.yzzmf.com/cat-1-3.html -> http://www.yzzmf.com/cat.php?id1=1&id2=3
RewriteRule ^cat-([a-zA-Z0-9\-]*)-([0-9]+)-([0-9]+)\.html$ cat.php?id0=$1&id1=$2&id2=$3比如:http://www.yzzmf.com/cat-zbc2ac-3-5.html -> http://www.yzzmf.com/cat.php?id0=zbc2ac&id1=3&id2=5
RewriteRule ^cat1-([0-9]+)-([0-9]+)-([0-9]+)\.html$ cat1.php?id1=$1&id2=$2&id3=$3比如:http://www.yzzmf.com/cat1-4-3-8.html -> http://www.yzzmf.com/cat1.php?id1=4&id2=3&id3=8
RewriteRule ^cat([0-9]*)/$ cat.php?id1=$1比如:http://www.yzzmf.com/cat5/ -> http://www.yzzmf.com/cat.php?id1=5
RewriteRule ^catm([0-9]*)/([0-9]*)/$ catm.php?id1=$1&id2=$2比如:http://www.yzzmf.com/catm6/3/ -> http://www.yzzmf.com/catm.php?id1=6&id2=3
其中不提倡贪婪模式,把0-9
都改成([\d]*?) *?
允许空
0 0
- phpstudy配置伪静态的方法
- phpstudy配置虚拟主机+伪静态
- window下phpstudy的nginx配置虚拟主机和伪静态
- IIS 服务器 配置伪静态的方法
- php配置伪静态的方法
- php配置伪静态的方法
- php伪静态配置方法
- win2008+IIS 7.5 配置伪静态的方法
- IIS7伪静态web.config配置的方法和规则
- php的伪静态方法
- 伪静态的实现方法
- 伪静态的实现方法
- thinkphp5.0在phpstudy下开启伪静态,用官方的.htaccess规则无效
- iis 7.5 配置伪静态方法
- iis6 伪静态 iis配置方法 【图解】
- iis6 伪静态 iis配置方法 【图解】
- iis6 伪静态 iis配置方法 【图解】
- .NET伪静态配置方法(其一)
- 如何选择机器学习算法(转、译)
- jquery中把字符串转换为数字
- 把一个十进制数的二进制形式翻转,并输出翻转后所对应的十进制数
- linux下布署java和定时任务
- GFP_KERNEL or SLAB_KERNEL?
- phpstudy配置伪静态的方法
- android中的常见算法整理
- Driver porting: low-level memory allocation
- 一句话木马的原理及利用分析(asp,aspx,php,jsp)
- word2007去掉文字当中的白色背景
- JSTL常用标签库介绍
- 占位符防止sql注入
- JAVA中this用法小结
- 数组运算——出现次数最多的整数