views:

50

answers:

1

What is the best way to send all traffic to your site a 404 page? I'm currently working on the site and would like it to just 404 for all requests. I've tried playing around with htaccess files but haven't been too successful in getting one working like this. Additionally, I would like traffic to a particular folder to still get through.

+5  A: 

As your question is stated the easiest way would be to move all your content into that folder.

However, reading between the lines it sounds like you want to view the site in the root folder, and block anyone else from doing the same. It seems to me what you want to do is look at the Apache manual's section on Authentication and Authorization http://httpd.apache.org/docs/2.0/howto/auth.html

Something like the following in a Location or Directory section of your Apache config, or in a .htaccess file should work. You can put the page you want to show your users in a special location

      #The page you want to show denied users.
      ErrorDocument 403 /path/to/403.html
      #The page you want to show when pages aren't found (404)
      ErrorDocument 404 /path/to/404.html

      #For Password Protection
      #Use the htpasswd utility to generate .htpasswd
      AuthType Basic
      AuthName "My Secret Stuff"
      AuthUserFile /path/to/my/passwords/.htpasswd
      Require valid-user

      #For IP protection
      Order allow,deny
      Allow from 1.2.3.4 #Your IP Here

      #If you want to use a combination of password and IP protection
      #This directive works if they have a valid IP OR a valid user/pass
      Satisfy any
Andrew Cholakian