Apache Rewrite的主要功能
#Apache Rewrite的主要功能
#就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。
#平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等
在httpd.conf中去掉下面这句前面的#
LoadModule rewrite_module modules/mod_rewrite.so
RewriteOptions inherit
#此值强制当前配置可以继承其父配置。在虚拟主机级配置中,它意味着主服务器的映射表、条件和规则可以被继承。 在目录级配置中,它意味着其父目录的.htaccess中的条件和规则可以被继承。
<FilesMatch "\.(bak|inc|lib|sh|tpl|lbi|dwt)$">
order deny,allow
deny from all
#\字符转义;可以用来查找元字符本身,比如\. \\
#拒绝访问.bak/inc/lib/sh/tpl/lbi/dwt后缀的文件
#^匹配你要用来查找字符串的开头;$匹配结尾;比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。
</FilesMatch>
<FilesMatch "\.(php|html|htm)$">
order allow,deny
allow from all
#允许访问.php/html/htm后缀的文件
</FilesMatch>
#<FilesMatch> 指令
#说明 包含作用于与正则表达式匹配的文件名的指令
#语法 <FilesMatch regex> ... </FilesMatch>
#作用域 server config, virtual host, directory, .htaccess
#覆盖项 all
#状态 核心(C)
#模块 core
#<FilesMatch>指令就像<Files>指令一样提供了针对文件名的访问控制。然而,它使用的是正则表达式。
#正则表达式:可以网上查找点资料,http://www.oschina.net/question/12_9507
#还有一个正则表达式在线测试工具:http://tool.oschina.net/regex#
RewriteEngine On
#RewriteEngine 用于开启或停用rewrite功能。
#rewrite configurations 不会自动继承,因此你得给每个你想用 rewrite功能的虚拟主机目录中加上这个指令。