joomla/joomla-cms — pull request #4433 by PhilETaylor (2014-10-02 13:01:21+00:00)
Title: Better handling of DIRECTORY_SEPARATOR for maximum IIS compatibility

This pull request fixes some IIS compatibility issues where, under some circumstances, when browsing to the example.com/administrator/index.php the following defines are created:

JPATH_BASE = /path/to/site\administrator
JPATH_ADMINISTRATOR = /path/to/site/administrator

Note the wrong \ in the JPATH_BASE

In /libraries/joomla/uri/uri.php we compare JPATH_BASE and JPATH_ADMINISTRATOR with == to see if we should prefix the uri with /administrator or not, and as they are not the same, no /administrator prefix is applied to urls.

The symptom of this will then be, all the urls generated for the Joomla Admin Login page will have a relative URL starting at / and not /administrator which can be easily seen as the Joomla logo doesn't load, and when attempting to login, the form posts to /index.php and not /administrator/index.php and then gives a 404/500 error depending on config.

This PR is fully backward compatible

Head Nod to @redevo for giving me crazy server configs to work with :-)