A small caveat, **just last week** I encountered a situation on a domain that I have never seen in my life, ever.
What mack says is completely true, however in this weird environment it failed. It supported mod_rewrite, so in the completed site redesign I added 301 RewriteRules from dumb-filename.htm to descriptive-rich-filename.html.
When I deleted the old files, the server returned a forbidden message, as if I were requesting a directory with no index.html (or something.) The mod_rewrites only worked when I put the old files (sans content) back in place. With the files in place, I checked server headers and it accurately redirected with a 301. Delete the files, error.
Weirdest thing I'd ever seen, but it was shared hosting and I had limited access to chase down the why.