1、学习重点学习重点1、mod_rewrite 简介简介和和配置配置2、mod_rewrite 规则规则的使用的使用3、mod_rewrite 规则规则修正修正符符(第第55讲讲) Apache Rewrite 拟静态配置拟静态配置1、mod_rewrite 简介简介和和配置配置Rewirte主要的功能就是实现主要的功能就是实现URL的跳转和隐藏真实地址,基于的跳转和隐藏真实地址,基于Perl语言的正则语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等如一个普通访问地址为如一个普通访问地址为 */php100.
2、php?id=2可以转成:可以转成: */PHP100_2.html或转成:或转成: */PHP100_2/Apache配置:配置:支持支持httpd.conf 配置和目录配置和目录 .htaccess配置配置启用启用rewrite# LoadModule rewrite_module modules/mod_rewrite.so去除前面的去除前面的 #LoadModule rewrite_module modules/mod_rewrite.so启用启用.htaccessAllowOverride None 修改为:修改为: AllowOverride All(第第55讲讲) Apache
3、Rewrite 拟静态配置拟静态配置2、mod_rewrite 规则规则的使用的使用RewriteEngine onRewriteCond %HTTP_HOST ! NC RewriteRule /(.*) http:/ L启动启动rewrite引擎引擎判断主机判断主机跳转到跳转到RewriteEngine onRewriteRule /test(0-9*).html$ /test.php?id=$1 RewriteRule /new(0-9*)/$ /new.php?id=$1 R启动启动rewrite引擎引擎跳转到跳转到(第第55讲讲) Apache Rewrite 拟静态配置拟静态配置3
4、、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(第第55讲讲) Apache Rewrite 拟静态配置拟静态配置