Rewrote the (at least with Apache 2.2's environment) no more working
authorAxel Beckert <xtaran@users.sourceforge.net>
Wed, 30 Jul 2008 22:21:47 +0000 (22:21 +0000)
committerAxel Beckert <xtaran@users.sourceforge.net>
Wed, 30 Jul 2008 22:21:47 +0000 (22:21 +0000)
commit735e1c54f5cd67deead58a84c41e9c2348131b53
tree779bbd7dbd0c2709ee54c1a388430828f53de7d1
parent3b41e4d57fb873e47ca5d24e45ecfea655194efc
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.
blosxom.cgi