1.首先查看服务器是否支持伪静态。。
查看方法:
$arr=apache_get_modules();
$temp=false;
for($i=0;$i<count($arr);$i++)
{
i f($arr[$i]=="mod_rewrite")
{
$temp=true;
}
}如果temp=true则支持(可以使是否支持在网页上显示),如果用wamp集成环境就可以直接查看Apache modules 里面的rewrite modules是否选中,选中则支持,
2.让apache服务器支持.htaccess
修改httpd.conf文件
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
注意:除了要设置上面的地方以后,还得设置一下下面这个(网上很多资料都没有讲到这一块),否则你将会配制失败, 把 DocumentRoot 后面的参数改为你本地网站的目录 例如你网站的根目录为 D:/web/ 则得设置为 DocumentRoot "D:/web/" 也就是修改当前目录
此步骤设置好后也得重启apache服务器才能生效
3.修改是伪静态支持之后,建一个.htaccess文件,里面记录了伪静态的规则,实例如下:
RewriteEngine on #这句话必须写
#RewriteRule ([a-zA-Z]{1,})-([0-9]{1,})\.html$ index.php?action=$1&id=$2
RewriteRule ^([0-9]+).html$ list.php?catid=$1 #定义的规则
#list.php?id=1801
#1801.html
RewriteRule ^([0-9]+)-([a-zA-Z_]+).html$ list.php?catid=$1&sort=$2
#list.php?catid=1801&sort=price_desc
#50010788-price_desc.html
RewriteRule ^([0-9]+)-([0-9]+).html$ list.php?catid=$1&page=$2
#list.php?catid=1801&page=2
RewriteRule ^([0-9]+)-([a-zA-Z_]+)-([0-9]).html$ list.php?catid=$1&sort=$2&page=$3
#RewriteRule ([0-9]+)-([a-zA-Z_]+)-([0-9]+).html$ list.php?catid=$1&sort=$2&page=$3
#list.php?catid=50010788&sort=price_desc&page=2
#50010788-price_desc-2.html
3.在网站对应目录下输入1801.html就相当于输入了?id=1801