Rewrote the (at least with Apache 2.2's environment) no more working
manual base URL detection code.
Made it simpler, easier to understand and overview. Added a lot of
comments explaining the fixed problem and the remaining seldom cases
where manual configuration is necessary.
Modify $url only if the base URL was not set manually.
The concept since 2.0.2 was: Always ask for the whole URI and then
remove the PATH_INFO in some cases again. This caused some havoc. New
concept is: Strip PATH_INFO from base URL if CGI.pm didn't manage to do
it.
In those rare cases where neither CGI.pm nor Blosxom manages to
correctly determine the base URL, you can easily set $url in the config
file to the correct value and no base URL magic happens anymore (except
the removing of a trailing slash if present -- as before).
There is one case where this code does more than necessary, too: If the
URL requested is e.g. http://example.org/blog/blog and the base URL is
correctly determined as http://example.org/blog by CGI.pm, then this
code will incorrectly normalize the base URL down to http://example.org,
because the same string as PATH_INFO is part of the base URL, too. But
this is such a seldom case and can be fixed by setting $url in the
config file, too.