Blogger Unofficial FAQ blog
The blog formerly known as Blogger archive/template troubles, featuring
fixes for problems with Blogger's archives, templates, and more
Templates - Better permalinks on Blog*Spot
(Updated Friday, May 31, 2002)
Background: When I first started using Blogger and Blog*Spot, you had to put "archives/" in front of every archive-related tag (archive links and permalinks) for a Blog*Spot blog to work correctly. In fact, I made my Blogger-help bones telling people how and where to do that. Then, in August 2001, Ev changed the way Blog*Spot worked, so that any request for an archive file was redirected to "/?/whatever.html", which simplified things considerably (it worked the same whether you requested "/whatever.html" or "/archives/whatever.html"), but eventually someone noticed that if you clicked on a permalink created by "<$BlogItemArchiveFileName$>#<$BlogItemNumber$>", then although you went to the right spot in the archive file, the <$BlogItemNumber$> would disappear from the browser's address bar, so people who tried to link to a post by clicking the permalink and then copying the address from their browser (rather than right-clicking the link and selecting "copy shortcut") would end up linking to the top of your archive file. I started recommending that people include "/?/" in front of the Blogger tags that produce the permalinks, so that the item number would be preserved in the address bar.
Fast-foward to May 2002: Ev has now fixed the "disappearing item number" problem for people who didn't apply my fix, but his fix has now transferred the problem over to people who implemented my fix. Now, if your permalinks are created by "/?/<$BlogItemArchiveFileName$>#<$BlogItemNumber$>" they work just like links without the "/?/" used to: click the permalink, the item number disappears from the address bar. The fix is just to take the "/?/" out of your template again. Existing links from other pages will still work (though the item number won't show in the address bar), and new links will work as expected, whether they are produced by right-clicking or left-clicking the link. Also, if you are still using "archives/" or "/archives/", now is the time to take them out: "/archives/" will work sort of approximately (if you don't have a template with images: if you do, they may or may not end up showing in your archive pages), but "archives/" won't be at all satisfactory (in an archive file, the permalinks will point to "archives/archives/whatever.html", which won't be found).
FTP - Unable to get input/output stream
The problem with this problem is that it is not a problem, it's a symptom, and a symptom of lots of different problems, like a runny nose might mean you have a cold, or an allergy, or the flu. So someone with the flu of a cable company that doesn't allow connections from outside its network will tell you that's the problem, but someone with the allergy of a DNS problem will tell you that you just need to change from the name of your ftp server to the IP address.
All that "unable to get input/output stream" means is that Blogger's publishing program told its ftp program "send these files to this address" and the ftp program said "I can't connect to that address". There are dozens of reasons why it might not have been able to connect.
The first thing to check is whether it's down for everybody or not: scan the "recently updated" list on the front page, and check the ones that are not on Blog*Spot to see whether they seem to have a new post (which can be difficult to tell, since you don't know what time zone their <$BlogItemDateTime$> reflects). Generally, though, if it's a problem for everybody and it hasn't just happened, there will be three or four different active threads at the top of Discuss.
If it looks like some people are successfully publishing via ftp, make sure that your host's ftp server is actually up and taking connections, by connecting with an ftp client like Fetch, WS_FTP, or CuteFTP, from your computer. If you can't connect, Blogger probably won't be able to either. Check your host's support page (if any) to see if they know it's not working, or whether they changed the server name without bothering to tell you. If you can connect but Blogger can't, there are three possibilities: Blogger may be trying to connect to the wrong address, or if your host is also your ISP they may not allow ftp connections from computers not connected through their network, or there might be a problem between Blogger and your host that doesn't exist between your computer and your host, either a routing problem, or your host's ftp server doesn't like something about Blogger's connection attempts.
Change of address
The single most successful fix is changing your FTP Server in Settings from the server name to the numeric IP address. You can find the IP address at samspade.org, or in Windows by Start menu -> Run -> command.com -> ping ftp.myhost.com (obviously, replacing ftp.myhost.com with the actual name). Note that even if it works, you probably won't want to leave it as the IP address forever, since one of the reasons we use names rather than IP addresses is so that ftp.myhost.com doesn't have to stay at the same address forever.
Some people with virtual domains (where ftp.mydomain.com is redirected to someserver.bighosting.com anyway) have reported success with changing the FTP Server setting from ftp.mydomain.com to mydomain.com (and then, next time they get the error, changing back to ftp.mydomain.com). Why that would work is a little puzzling, unless Blogger is caching an old IP address for ftp.mydomain.com and the change forces it to look up a new address. Note that you do not want to do that if your FTP Server is something like ftp.geocities.com - it only works if your host redirects all ftp requests for your domain based on what port the request is going to, rather than having the subdomain ftp go to a different IP address than other subdomains.
My host is my ISP
If you are trying to use Blogger with the web space that you get along with your internet connection, especially your cable internet connection, and you get "unable to get input/output stream", chances are good that your ISP only allows ftp connections from computers connected to their network, so that ftp works just fine from your computer, but not from Blogger. You can see whether this is the problem by trying to connect with an ftp program on another computer that isn't connected to their network, at work or on a friend's computer. If you can't connect that way, then Blogger probably can't either (though it can be hard to tell with an overloaded host: when ATT first moved former @Home customers over to upload.attbi.com it wasn't at all clear if they really didn't allow connections from outside their network, or if they were just constantly overloaded. Of course, combining the worst features of a telephone company and a cable company, we should have guessed the truth: you can't upload to attbi.com from Blogger, or a public library, or a friend's house, or at work, or an Internet cafe, or.... Idiots.).
And if he still doesn't answer?
If there is a routing problem between Blogger and your host, there isn't much you can do but wait for it to clear up. Worse yet, there really isn't any way to tell if that's the problem, unless you can find a public traceroute server that's operating in the same Exodus data center as Blogger. You just have to wait, and hope that it will get better. However, if your host offers decent technical support, ask them to check their ftp log to see whether connection attempts from Blogger are getting through at all (the connections come from 184.108.40.206 (granfalloon.pyra.com) and 220.127.116.11 (leap.pyra.com) rather than anything.blogger.com, so be sure to tell them that or they won't find any connections attempts at all). Interestingly enough, a couple of times when I've suggested that people try this, their host has responded "It should work now", and it does, implying that something in their server setup was screwed up and causing the problem. So it's worth trying, if all else fails.