apache rewrite规则白名单示例


如何在apache中使用rewrite规则配置白名单,这里分享一个方法。

今天弄了半天apache 的rewrite 规则,还是没有配置出符合的规则。经同事指点,成功。 

需求:
六个文件的入口,其他都重定向到index
自己的思路:
正则找出不是六个文件的URL的模式,进行过滤。
对比同事的结果,自己思路的问题:
1. 想找出所有不符合规则的,越想越多,无法下手。---------------- 思路错误,应该 制定白名单,
2. 概念错误, 弄错 REQUEST_URI 和 REQUEST_STRING 的概念 基础知识不牢固。
最后结果:

<IfModule mod_rewrite.c> 

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule ^/(.*) /index.asp$1 [L] 
RewriteCond %{REQUEST_URI} ^/index.asp [NC,OR] 
RewriteCond %{REQUEST_URI} ^/o.asp [NC,OR] 
RewriteCond %{REQUEST_URI} ^/s.asp [NC,OR] 
RewriteCond %{REQUEST_URI} ^/error.asp [NC,OR] 
RewriteCond %{REQUEST_URI} ^/favicon.ico [NC,OR] 
RewriteCond %{REQUEST_URI} ^/status.taobao [NC,OR] 
RewriteCond %{REQUEST_URI} ^/app/thirdparty/webbox.asp [NC,OR] 
RewriteCond %{REQUEST_URI} ^/static/ [NC] 
RewriteRule ^.* - [L] 
RewriteCond %{REQUEST_URI} !^/index.asp$ 
RewriteRule ^.* – [F,L] 
</IfModule>

相关内容