list at joreybump.com
Sun Nov 5 12:53:15 EST 2006
Graham Dumpleton wrote: > For the first, when a request arrives against a physical directory > and there is no trailing slash on the URL, Apache (unless it is > disabled), will send a redirect back to the browser forcing it send > the request again but with a trailing slash added. By doing this, it > is helping the browser to understand what the effective base URL is > such that if relative URLs are then used to address other resources > within that directory, it will be able to construct the URL properly. > > Thus, if we have a filesystem structure: > > /some/path/directory /some/path/directory/index.html > /some/path/directory/file-1.html > > and we pretend that the URL to access it is the same. If a URL > arrives which is: > > /some/path/directory > > then Apache sends a redirect back to the browser asking it to > re-request the resource with the URL: > > /some/path/directory/ An interesting side effect of this is how it affects handlers invoked in a Location container: <Location /virtual> SetHandler python-program # module must be in PythonPath! PythonHandler virtual PythonDebug On </Location> If no corresponding directory exists, the handler can be invoked with or without a trailing slash: http://host/virtual http://host/virtual/ But when a matching directory exists, Apache will send a redirect to the browser, forcing it to always use: http://host/virtual/ This has nothing to do with Publisher, but it shows that factors outside of mod_python can also have an influence on relative links.