title: htaccess 301 vs redirecting 404
body: <p>I'm migrating my site from Drupal, and in the process all of the urls will change to a new format. I've been looking at a 301 redirect through the <code>.htaccess</code> file to get the job done. There's ~150 pages in total, each with about 2 ways to access it (a user friendly "blog/foo", and the default "node/123" - I'm not including the "unclean" version where each url is prepended with "?q="). They don't really follow a format, so I can't have one rule to catch them all (and in the darkness bind them).</p>
  
  <p>When reading up one <code>.htaccess</code>, it seems that for every url request, the <code>.htaccess</code> is accessed, and all of the rules are run through in order, to see if one matches. Meaning that for my ~150 pages, around 300 rules will be tested in the worst case (the user inputting a url that doesn't need to be redirected). Is that right?</p>
  
  <p>What are the pros and cons of redirecting using a 301 vs letting all the old urls hit a custom 404 page, which would try and do the redirect there? So instead of the server running 300 rules for every url, it only runs them if the 404 page is accessed.</p>
  
  <p>Is the general rule to use a 301 in order to pass pagerank or whatever to the new url?</p>