lucy24 - 8:01 pm on Jun 28, 2013 (gmt 0)
Why are you redirecting the sitemap? The chances that someone will have an old bookmark for the sitemap are vanishingly small. Just put its current actual URL in robots.txt. Or put the sitemap in the root; search engines will look for it there even if robots.txt doesn't say anything about it.
No reason to muck about with explicit .gz either. Let the server take care of compression if it feels so inclined.
The main problem is that your question mixes up two different things. One is the URL; the other is physical location. Your blog may live in a directory within a directory within a directory, but the only thing visitors-- including the googlebot-- need to know is that its URL is blog.example.com.
If you have a subdomain, you need one robots.txt at
and another at
regardless of where they physically live. If the two robots.txt happen to be identical, you can rewrite -- NOT redirect -- requests for one so they point to the other. Not even the googlebot knows when it has been rewritten.
Same goes for sitemaps. As far as a visitor is concerned,
is the root.