Restrict non whitelisted IP's from viewing Directory list in Apache

I am trying to restrict access to viewing Directory Indexes or viewing lists of files in a directory unless your IP is in a whitelist.

I am using Apache web server and an .htaccess file.

So here is what I have so far

Options -Indexes
<Files *>
deny from all
allow from 71.56.134.456
allow from 71.55.104.468
Options +Indexes
</Files>

This partially works. This does restrict directory viewing to everyone unless there IP is listed. The problem is it also restricts non-whitelisted IP's from viewing files as well.

I need to restrict there access from directory lists but not direct file access.

Please help me


Solution 1:

You can use "if" directive in apache for flexible configuration and check variable values:

options -Indexes
<If "%{REMOTE_ADDR} == '127.0.0.1'">
    options +Indexes
</If>