Search engines are highly sensitive to how you program re-directs of a URL or domain. You must program the re-directs in a search engine friendly way or face the loss of search visibility. This is especially important when you launch a new website with new URLs, have multiple domains pointing to the same website, or change the domain of your website.
301 vs 302 re-directs
These are server-side re-directs. A 301 is a permanent re-direct. It is search engine friendly due to the nature that the search engines will see the 301 and update their indexes with the new destination URL. A 302 re-direct is a temporary re-direct and is not search engine friendly. The search engines will not update their indexes with the new destination URL when using 302 re-directs, thus you end up with old pages remaining in the index. Programming one re-direct or the other is a click away on IIS servers. On Apache servers it is a few lines of code in the mod_rewrite.
Either way takes the same amount of time. So do it right the first time around. It means everything as to whether your website will hold or lose search visibility.
meta-refresh
A meta-refresh redirects is extremely easy to program, however it is not search engine friendly. Search engines will not recognize a meta-refresh as a valid re-direct, so again you will lose search visibility that the original page established.
Meta-refreshes were long used to spam the search engines. If the search engines even think there is the possibility that you are doing the meta-refresh to deliver different content to search engines than to users, the search engines will ban your domain. Google did it to www.BMW.de. After BMW stopped the practice, Google unbanned the domain. If your company does not have the stature of a BMW, don’t expect them to easily listen to your plea that you changed your ways.
Javascript
Javascript re-directs again are easy to program. However since search engines are text based, they are unable to read JAVA. Therefore the search engines never see the redirect and begin indexing both URLs. If these 2 different URLs or domains have the same content on them, the search engines are unable to recognize that they are the same website and you simply programmed the re-directs wrong, thus leading to duplicate content penalties.
Conclusion
Re-directs are not all that confusing. When you acknowledge how the search engines crawl and what message you are delivering to them, it does make it easier to understand. Something so simple can cause your online presence to diminish overnight. Please don’t make that mistake.