The transition from Expression Engine to WordPress for our kc web design kent website was a lot less painful that I originally thought it might be. Transferring the old pages and posts from EE to WordPress was a breeze thanks to this article. But, when it came to redirecting the old posts and pages to the new site posts and pages, well, that was a very follicle reducing experience!

No normal htaccess redirects would work with the EE URL layout. Specifically, the ? contained in all EE URLS (if you haven’t used the code to remove it) really screws with the redirect code because the code thinks the ? should be a query string. Can’t blame it for that.

So, as it does treat the ? as a query string so normal redirects won’t work, what will work? It took me a while to figure that one out but I did find a way to get it to work with htaccess code.

The URL has to be split up and works out the old url based on everything that comes after the ? So in essence we are dealing with a query string, but we don’t want that query string to be used when the redirect takes place.

Please see this post on the EE forums.

Please note the ? on the end of the last line, this stops the query string from the first line getting appended to the new URL. Bingo! It redirects from the old URL to the new one. It takes a lot of extra code in the htacess file, especially if you have lots of old posts to transfer over but it works.

Hope this helps anyone else with the same problem.