关于伪静态的实现方法

2022-12-15 13:07:52 浏览数 (1)

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,})是指由数字组成的,$是结束标志,说明是以数字结束!

好吧,现在我们可以实现伪静态页面了,写下一下的规则:

RewriteEngine on

RewriteRule test/(a-zA-Z{1,})-(0-9{1,})$ test/index.php?action=$1&search=$2

test/(a-zA-Z{1,})-(0-9{1,})$是规则,$是正则表达式的结束符

test/index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,以此类推!!

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

代码语言:javascript复制
<?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服务器:

IIS的重定向需要借助插件:URL Rewrite,这个后续再填

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193110

0 人点赞