apache.htaccessapache2apache2.2

.htaccess: how to restrict access to a single file by IP?


I've look all over, but keeps running into same info that talks about directory level IP restriction, which usually looks something like this:

Order Deny,Allow
Deny from all
Allow from 123.123.123.123

Is it possible to have same type of access restriction tied to a page/document?


Solution

  • This will allow either someone from IP 127.0.0.1 or logged as a valid user. Stick it either in your config or .htaccess file.

        <Files learn.php>
            Satisfy any
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
    
            AuthType Basic
            AuthName "private"
            AuthUserFile /var/www/phpexperts.pro/.htpasswd
            AuthGroupFile /dev/null
            Require valid-user
        </Files>
    

    IP Alone:

        <Files learn.php>
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
        </Files>
    

    That definitely answers your question.