I've had this issue several times now. While building a site, including some content, I keep WordPress in a subdirectory (say,
/wordpress/). When putting it live, I move/copy 3 files out of the dir into the root, in accordance with the WordPress specifications here: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install
It works, but all the links already entered in content refer to
/wordpress/bla/bla and will, after the move, return 'file not found'. Also, links previously sent in emails and links already indexed by Google will return file not found.
My question: Is this behaviour as designed, or am I doing something wrong?
Please note: My question is not how to fix it. It's easy enough to add some lines to the root
.htaccess to say, "for every request inside
/wordpress/, if it doesn't exist, remove the word
/wordpress/ and try again," so I'm surprised WordPress doesn't do that by itself. This makes me think I'm doing something wrong.