How can I use htaccess to protect a subdirectory of codeigniter installation?

Posted by Art Peterson on Stack Overflow See other posts from Stack Overflow or by Art Peterson
Published on 2010-04-03T05:08:39Z Indexed on 2010/04/03 5:13 UTC
Read the original article Hit count: 372

I have codeigniter installed at the root directory, and would like to have a subdirectory called "test" password protected using htaccess. I keep getting a "404 page not found" no matter what I try. The directory structure is:

/public_html  
    /css  
    /images
    /system (codeigniter directory)
    /test
        .htaccess
.htaccess
.htpasswd
index.php

The root .htaccess file looks like:

RewriteEngine On
RewriteBase /

Options -Indexes    

# Removes trailing slashes
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

# Enforce www
RewriteCond %{HTTP_HOST} !^(www) [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]


#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(.*)test(.*)    
RewriteRule ^(.*)$ index.php?/$1 [L]

The /test/.htaccess file:

AuthUserFile /home/dir/.htpasswd
AuthName "Protected Area"
AuthType Basic
<limit GET POST PUT>
  require user adminuser
</limit>

I'm not even getting the authentication prompt, just the codeigniter 404 page when I navigate to the url "http://www.mydomain.com/test/".

Please advise!

© Stack Overflow or respective owner

Related posts about codeigniter

Related posts about .htaccess