Configure Block Paths
The block paths settings is a very flexible feature of Drupal that lets you determine which pages blocks will appear. By going to administer » blocks, it requires a rudimentary knowlege of Perl-compatible regular expressions but the following are some examples, taken from the Drupal.org book page on the subject. Each 'path' (not to be confused with the path module) must have angle brackets--that is, the lesser-than sign and the greater-than sign--wrapped around them.
To show a block only on the front page, put <^$|^node$> in the path field. (^node$ is included because 'node' is the default front page.)
What do the symbols mean?
^ means "starts with", so <^node> will show the block on any URL that starts witn node.
| means "or", so <^(forum|book)> means any URL starting with those two terms will show the blocks, but just those two terms. In this example, the forum or book pages will contain the block. Note the round brackets which group terms which you want to look for. You can have as many terms separated by | as you like inside the round brackets.
?! (question mark then exclamation point) means "NOT", so if you want blocks to appear on pages that do not match the terms in the block path, you can use something like <^(?!forum)> to show blocks on pages that are not the forum page.