Use your left/right keys to browse tutorials
Useful .htaccess techniques

Useful .htaccess techniques

1 Star2 Stars3 Stars4 Stars5 Stars
Posted on January 27, 2010

I wrote a post mid last year about protecting your site images from being hotlinked as I found a site that had word for word scrapped one of my blog posts, you can see the post here, and I really wanted to go back to this and run over a few more things the .htaccess file is useful for. I mainly use the .htaccess file to rewrite URIs for example http://mysite.com/site/pages/contact.php would be accessed by visiting http://mysite.com/contact. So the URI is being re-routed to my contact.php page.

Using Mod_rewrite for friendly URLs

You need to make sure if you want to rewrite URI’s that you have the mod_rewrite PHP module installed with your host. Most hosts will have this with the latest stable versions of PHP.

 RewriteEngine On

 RewriteRule ^user/([a-z0-9]+)/$ /user.php?u=$1 [NC,L]
 RewriteRule ^analytics/$ /pages/analytics.php [NC,L]
 RewriteRule ^settings/$ /pages/settings.php [NC,L]

Redirect a domain

If you’ve just moved your site to a new domain and you want to transfer any visitors that visit your old site straight through to your new site just add this to your .htaccess file on your old domain.

RewriteEngine On
RewriteRule ^(.*)$ http://www.yournewdomain.com/$1 [R=301,L]

Restrict certain file type execution

If you have a server that only has php files on, you can lock it down so other file types can’t be executed

Options -ExecCGI
AddHandler cgi-script .js .cgi .asp .jsp. htm .exe .sh

Set custom error pages

Probably the most common use for the .htaccess file is to setup custom error pages. this means that if you’re site throws a 404 not found error the user will see the page at http://yoursite.com/404.php

ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php

Remove the www in your url

This snippet of rewrite code will remove the www from your site domain url. For example wordpress automatically does this if you visit http://www.papermashup.com you’ll see that the url changes to http://papermashup.com.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]

Things to note when editing the .htaccess file

  • It’s important to make sure that you don’t have any spelling mistakes or typos in your .htaccess file. It’s very unforgiving and can take your complete site offline throwing a 500 internal server error in some instances. Remember it’s also case sensitive!
  • If you’re going to add comments to your .htaccess file simply put a # in front of the text you want to comment out. This is different from say JavaScript or PHP where you can just add a double forward slash //.
  • Always make a backup of your .htaccess file before making any changes, this way you can easily isolate any problems if your site does down or you experience unexpected results, and always make sure that if you change the .htaccess file you immediately check your site for any problems.

Recent shares

More tutorials from Papermashup
Comments
10 discussions around Useful .htaccess techniques
  1. Bob says:

    Hi, when I upload an .htaccess file, I cannot see it in my root folder. My site uses cpanel. What could be the problem?

  2. mitran says:

    where to put these code??? Do we have any common htaccess file or we have to create it…
    i didn`t used htaccess… now i need to used it…

    plz help me…

  3. mitran says:

    i want to give user name in the url like twitter and facebook did
    http://www.facebook.com/mohanraaj
    like this only i want to create url for user who login…
    plz… i require this…
    thanks in advance..

  4. ginix says:

    There’s another useful .htaccess thing and is that you can restrict the access to your website by IP.This is very useful if you need to block certain IP that’s bothering you but it can be very useful if you designed a website which can only be accesed from a certain country.
    To use it,for example, to block a certain IP you would write:
    #Block IP
    order allow,deny
    deny from 64.56.65.44
    allow from all

    To block a certain country or to allow only one country the easiest way is to go to this page http://www.countryipblocks.net/.On the right upper corner you would select the country (or the countries) and choose .htaccess deny and you would have the code for that.
    You can block too a bot that is bugging you by blocking the agent or the referer.Two examples:
    To block bot identified by larbin
    #Block Agent
    rewriteEngine on
    rewriteCond %{HTTP_USER_AGENT} ^larbin

    To block a bot that comes from a website named malicious web:
    #Block Referer
    rewriteEngine on
    rewriteCond %{HTTP_REFERER} ^http(s)?://(www.)?maliciousweb.com*$
    rewriteRule .* – [F]
    rewriteRule .* – [F]

  5. I saw your article its pretty good and informative and I am also using this technique to make .htaccess file for my site.

  6. ryan says:

    Mike you can and paste this code to your htaccess file..

    #RewriteRule ^(.*)$ index.php?articles=$1
    #RewriteRule ^(.*)/$ index.php?articles=$1

    feel free to edit the code…..

    thanks

  7. Mike says:

    I’m having trouble creating the friendly URL’s… I’m able to go to say, http://mikeutter.com/about/ (about.php), but it’s not pulling my CSS or any styling for that matter… thoughts?

    Thanks!

  8. Derleth says:

    oye chato eso estuvo muy bueno principalmente lo ultimo, es muy util :)
    buen post

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Looking for a registry cleaner to speed up your PC and show a full diagnostics?

Never miss an update from Papermashup

Get notified about the latest tutorials and downloads.

Subscribe by Email

Get alerts directly into your inbox after each post and stay updated.
Subscribe
OR

Subscribe by RSS

Add our RSS to your feedreader to get regular updates from us.
Subscribe

Get in contact

Please use the form below to get in touch.

About Me

I'm Ashley Ford, Co-founder and Technical Director at Harkable.com London, UK. Previously I worked at InMobi, Spotify and MySpace. My interests include photography and making short videos I'm also an avid F1 fan. I'm always working on side projects. Here are a few: Easy Poll, We Deliver.



What do you specialise in?

I spend a lot of time coding in PHP and MySQL, as well as front end XHTML and CSS. I also specialise in javascript and the jQuery framework as well as being an avid designer. You can find me on dribbble

Interested in advertising?

If you'd like to advertise on Papermashup.com you can find details here Or use the contact link below for further advertising opportunities.

How do I contact you

You can contact me here. and I'm available for consultation, freelance, programming book reviews.

Get on the mailing list

Join over 3000 people who have subscribed to the Papermashup inbox message, and be the first to find out about tutorial, competitions and giveaways.