Gregor Hoffleit wrote:
Regarding wget:
AFAICS, the problem is that traditionally in a static web server, if you try to access a URL like 'http://host/xyz' (without trailing slash), the server will return you an error '301 Moved permanently' and will point you to the new location 'http://host/xyz/'. Zope instead (if 'xyz' is a folder and there's a document 'xyz/index_html') immediately returns the rendered index_html if you request 'http://host/xyz'.
Now whenever the 301 to the URL with a trailing slash happens, wget takes this as a hint that this path must have been a directory, and saves the result as index.html. With Zope, wget doesn't get this hint.
Reading this again, I wonder if this qualifies as a bug in Zope, or is there a good reason for this behavior ?
It's not so much a bug as a complication caused by the fact that Zope isn't a filesystem server, but an orb presented through the web (correct me if I'm slightly out ;-) For example http://host/x/y/z Could be: -A container object z (which should have a / after it?) -A dtml-document in folder /x/y/ -The result of executing the z method on the y object in the /x/ folder. -The result of executing the z method on the result of executing the y method on the x object in the root folder. I'm sure acquisition adds some more options/confusions to this... ;-) So, that's the problem, I don't know what the solution is :( I do think there must be a better way than Zope's kludgey BASE tag thing. Maybe all Zope URLs should end in a / ? Quite radical, but maybe the most sensible and least confusing? :/ cheers, Chris