I understand the comments and appreciate the help. I didn't design the site. For some reason, problems with unusual site architectures are common with ASP.NET sites. I can't explain why this is, but I have seen ASP.NET site stuctures that are much more bizzarre and illogical than this.
I completely agree that the home page should be in the root directory, and I do plan to make that recommnedation. I can't explain why some developers place it elsewhere. It doesn't make sense to me either.
My question is related to the best method to use to set up the 301 redirects. I can't find any information as to how to do this properly with ASP.NET. I will recommend a page level 301 redirect for the copy of the home page in the subdirectory.
The problem I still have to resolve is related to using a 301 redirect to eliminate the versions of the URLs without the www subdomnain in the search engines. I thought that this should be done with ASP.NET's internal URL rewrite program. If I cannot find a solution along these lines, I plan to recommned the old workaround that requires two sites to be set up on the server. One is the main site using
http://www.domainname.com. The other site is set up using
http://domainname.com and is set up in IIS as a permanent redirect to
http://www.domainname.com. No Web pages actually exist on the second site because IIS redirects all the traffic.
Does anyone know of a solution using ASP.NET's internal URL rewrite program?