my goal is to deny access to certain sub-directories. my localhost configuration allows overriding like that:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
I also have an .htaccess file in /var/www/ with contents:
<Directory /var/www/*>
Order allow,deny
allow from all
</Directory>
Those rules above state access to everyone, but my server responds with internal error.
"cat /var/log/apache2/error.log | tail -n 10" gives:
[Thu Feb 23 12:41:09 2012] [alert] [client 127.0.0.1] /var/www/.htaccess: <Directory not allowed here"
Why is that so ? Any links on extensive guides on this problem are also extremely appreciated. Thanks.
Best Answer
The reason you are getting that error message is because the <Directory> directive is only valid in the main
Server config
or aVirtual Host
config and is not valid in a.htaccess
file.As to how to deny access, very simply you can set the permissions on the directories so that your apache cannot read them. More sophisticated methods would require that you tell us what you are trying to deny access from.