Apache Rewrite的配置
Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接
在httpd.conf下书写。配置步骤如下:
首先把httpd.conf文件中“#LoadModule rewrite_module modules/mod_rewrite.so”的注释去掉
修改httpd.conf文件中的所有“"AllowOverride None”改为“AllowOverride All”
#扩展开启伪静态之后,伪静态规则
RewriteEngine on
#当访问任何以t_开头,以.html结尾的文件时,将$1用与(.*)匹配的字符替换后,访问相应的test.php页面
RewriteRule ^/t_(.*).html$ /test.php?id=$1
自己使用的时候遇到了问题,已经按照上面配置好了还是不能使用后来问了一下
把httpd.conf中 Include conf/vhosts.conf 这段代码注释,原因是开启虚拟机后只能在vhosts里面配置,关闭后才能直接写在底下
另一种是针对apache服务器下的某一目录的配置,此种配置的Rewrite规则需在此目录下建立一个.htaccess
文件来书写。配置步骤如下:
去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"号;
修改httpd.conf文件中的AllowOverride None为AllowOverride all
创建一个目录并在目录中建立.htaccess文件,打开然后书写如下规则:
RewriteEngine onRewriteRule ^t_(.*).html$ test.php?id=$1 (这里使用的是 相对路径)