码迷,mamicode.com
首页 > 其他好文 > 详细

关于伪静态的实现方法

时间:2018-03-20 18:09:57      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:php   php脚本   rri   文件类型   off   iter   mod   load   .com   

PHP怎么实现呢,具体方法如下:

Apache服务器:

利用apache的mod_rewrite模块

1.检测Apache是否支持"mod_rewrite"
打开您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,查看前面的”#”号是否已删除,没有删除的,直接删除即可。
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”,然后重启apache服务器即可。

2.让Apache服务器支持".htaccess"
如何让自己的本地Apache服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 Apache支持".htaccess"了。打开httpd.conf文件后,查找
 
Options FollowSymLinks
AllowOverride None
 
改为
 
Options FollowSymLinks
AllowOverride All
 

3.建立”.htaccess”文件
如果是在windows平台下,有以下几种方法来创建这个文件:
(1)打开文本编辑器,新建文档,另存为,在文件名窗口输入”.htaccess”并选择文件类型为所有,然后点击保存就行了。
(2)首先创建一个”htaccess.txt”,然后进入cmd命令行窗口,通过cd切换到”htaccess.txt”文件所在的目录,然后输入命令:rename htaccess.txt .htaccess ,回车即可。
(3)通过ftp软件创建文件或重命名。

4.rewrite规则学习
我们新建一个.htaccess文件之后,就在里面写入以下内容:
RewriteEngine on
RewriteRule ([0-9]{1,})$ index.php?id=$1

RewriteEngine为重写引擎开关on为开启off为关闭
RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!

好吧,现在我们可以实现伪静态页面了,写下一下的规则:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule test/([a-zA-Z]{1,})-([0-9]{1,})$ test/index.php?action=$1&search=$2
</IfModule>
test/([a-zA-Z]{1,})-([0-9]{1,})$是规则,$是正则表达式的结束符
test/index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,以此类推!!

我们写一个处理的PHP脚本:index.php

PHP代码
<?php
echo ‘你的查询参数action是:‘ . $_GET[‘action‘];
echo ‘<br/>‘;
echo ‘你的查询参数search是:‘ . $_GET[‘search‘];
?>

好了,我们现在在浏览器中输入:
test/list-5

输出的是:
你的查询参数action是:list
你的查询参数search是:5

以上参考:http://blog.163.com/meng_qiang/blog/static/1773543732012222102031725/

IIS服务器:

关于伪静态的实现方法

标签:php   php脚本   rri   文件类型   off   iter   mod   load   .com   

原文地址:https://www.cnblogs.com/yiven/p/8610094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!