Thursday, June 11, 2009

htaccess Tricks Every Webmaster Should Know

If you’re new to htaccess, here’s a quick introduction. Otherwise, May be this tips are already you know but here are 5 sets of htaccess directives every webmaster should know:

Redirect Visitors While You Update Your Site

Update and test your site while visitors are redirected to the page of your choice:

order deny,allow
deny from all
allow from

ErrorDocument 403 /page.html

allow from all

Replace with your IP address. Also replace page.html with the name of the page you want visitors to see.

Display a Custom 404 Error Page

Your server displays a “404 File Not Found” error page whenever a visitor tries to access a page on your site that doesn’t exist.

You can replace the server’s default error page with one of your own that explains the error in plain language and links visitors to your home page. Here’s how to use your own page:

ErrorDocument 404 /404.html

Replace 404.html with the name of the page you want visitors to see.

Handle Moved or Renamed Pages

You’ve moved or renamed a page on your site and you want visitors automatically sent to the new page when they try to access the old one. Use a 301 redirect:

Redirect 301 /old.html

Using a 301 redirect also ensures the page doesn’t lose its search engine ranking.

Prevent Directory Browsing

When there’s no index page in a directory, visitors can look and see what’s inside. Some servers are configured to prevent directory browsing like this. If yours isn’t, here’s how to set it up:

Options All -Indexes

Create User Friendly URLs

Which of the two URLs below looks friendlier?

When it comes to URLs, as long as the meaning is clear, shorter is always better.

With htaccess and an Apache module called mod_rewrite, you can set up URLs however you want. Your server can show the contents of “/pages/about.html” whenever anyone visits “”. Here are a few examples:

RewriteEngine on
RewriteRule ^about/$ /pages/about.html [L]
RewriteRule ^features/$ /features.php [L]
RewriteRule ^buy/$ /buy.html [L]
RewriteRule ^contact/$ /pages/contact.htm [L]

There’s a lot more to mod_rewrite and htaccess. Check out the links below for more details and tricks.

Additional Resources

Apache htaccess Ultimate Guide
Comprehensive guide to .htaccess
mod_rewrite, a beginner’s guide (with examples)
Stupid htaccess Tricks


  1. Some really good advice here. In building and maintaining various websites, sometimes I may remove some old outdated pages and can forget about changing the 404 or to redirect it to a more current page. So your tips are a good reminder. Thanks!

  2. Sorry for late commenting.
    thanks to leave comment.