RewriteRule:拒绝除root,文件和特定文件夹中的所有文件之外的所有内容

时间:2012-02-20 20:18:11

标签: apache .htaccess mod-rewrite

我想否认一切;除了以下内容之外:

1 http://example.com/
2 http://example.com/favicon.ico
3 http://example.com/downloads/secret/test.txt

经由

RewriteEngine On
RewriteRule !^(favicon\.ico|downloads/secret/[^/]+\.[a-z]+)?$ - [F,L]

2号和3号工作正常。但是我无法达到http://example.com/

如何修改我的RewriteRule以使第一个示例也正常工作?

1 个答案:

答案 0 :(得分:2)

添加:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(?:|favicon\.ico|downloads/secret/test\.txt|index.php)$
RewriteRule ^ - [F]

index.php更改为您正在使用的索引文件(例如index.htmlindex.pl等)