PHP实现伪静态
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
点击 "运行实例" 按钮查看在线实例
1、排除一些条件,必须两个条件都满足后才重定向到index.php
//如果你访问的文件不等于目录
RewriteCond %{REQUEST_FILENAME} !-d
//如果你访问不是文件,比如你可能访问的JPEG等图片文件
RewriteCond %{REQUEST_FILENAME} !-f
2、^(.*)$ 匹配所有的路径映射到入口文件 index.php/$1
3、标签 [QSA,PT,L] QSA:表示保留参数如get传值?xxx==xx...; PT:再把这个URL交给Apache处理;L:作为最后一条;
PT和L可加可不加。
举个例子
RewriteRule list/([1-9]+[0-9]*).html$ list.php?pid=$1 [QSA]
原链接:http://www.xxx.com/list.php?pid=1
伪静态:http://www.xxx.com/list/1.html
[QSA] 表示保留参数如get传值?xxx==xx...;
原链接:http://www.xxx.com/list.php?pid=1&key=关键词
伪静态:http://www.xxx.com/list/1.html?key=关键词