Need a hand converting .htaccess from 2.2 to 2.6

September 2, 2015 1.5k views
Security Apache FreeBSD

I want anyone to access my index.php, but no other files in the directory. However, 3 IPs can access anything in the directory. This .htaccess works fine in apache 2.2, but DO is 2.6, & I can’t find any examples on the web explaining exactly how to convert it. I know that “Allow from all” is now “Require all granted”, but I’m stumped on the proper syntax to allow the 3 IPs into all other files in the directory.

Authname “Admin”
AuthUserFile secrethtpasswdfilename
AuthType Basic

<files “index.php”>
Allow from all -> now use Require all granted

Order deny,allow
Deny from all
Require valid-user
Allow from
Allow from
Allow from

Satisfy Any

Your expertise will be greatly appreciated as I’m pulling the remainder of my hair out.

1 Answer


Just for clarification, I think you meant Apache 2.4 rather than 2.6. Apache 2.6 hasn’t been released yet.

The easiest solution in your case would be to use a server stack that has Apache 2.4 configured with mod_access_compat which is an Apache 2.4 module that makes the old-style access control directives continue to work on Apache 2.4. For example, ServerPilot configures Apache on your server with mod_access_compat. This way, you won’t need to worry about converting your .htaccess file at all.

Have another answer? Share your knowledge.