新建立一文件.htaccess
<IFMODULE mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^t_(.*).html$ test.php?id=$1 [L]
</IFMODULE>
再建立一文件test.php
<?php
$id=$_GET["id"];
echo $id;
?>
首先配置服务器启动重写模块
打开 Apache 的配置文件 httpd.conf 。
将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉。
保存后重启Apache
体解释可以查看apache手册。下载apache2.2手册
第4行 ^t_(.*).html$ 描述你输入的URL地址, test.php?id=$1 其实际要访问的地址
例如当您在浏览器中输入(假设您的test.php和.htaccess文件都在您服务器的mytest文件夹下)localhost/mytest/t_1.html 则在浏览器中将输出 1,
如果输入为 localhost/t_sophp.html 则浏览器输出sophp
第一个地址实际访问的是localhost/test.php?id=1
第二个实际访问的是 localhost/test.php?id=sophp
重写完规则后,将您网页中以前都为传参数的URL链接改为您修改后的规则样式就成功了。
如果自己买的空间支持重写的话,只要把.htaccess 文件传到根目录即可。
八、mod_rewrite 规则修正符
1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联8) T=MIME-type(force MIME type) 强制MIME类型
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 \%3d$1 等价于 =$1