I've been trying to figure out how to use the block path to do a few simple things, and I'm having some success, but I've been stuck for the last 3 hours trying to figure how a regular expression for what I want to do. I have three types of blocks:
1) Blocks that I want on the home page only (the path <^(/|index\.php)$> works great for this).
2) Blocks that I want on the home page and specific other pages (the path <^(/|index\.php)$|(forum)> puts a block on the home page and the forums pages, but no others).
3) Blocks that I want on every page EXCEPT a few specific ones. Here's where I'm having problems.
<(^/$|[^(staff)(photos)/]+)> successfully takes a block off the staff and photos pages, but I'm having two problems trying to expand on this.
First, I want to add a few more items to this list, but anything inside the brackets is only a list of characters, not specific words. The parenthesis I have there aren't even necessary. In order words, if I had a page named "fotos" it wouldn't have the block either because the order and grouping of the characters doesn't matter.
Second, I want to add "node" to this list, but this doesn't work: <(^/$|[^(staff)(node)(photos)/]+)> because the URL is actually going to be more like "node/view/20".
So the real question is how do I make a block appear on every page EXCEPT, say, the following pages: