"/../" results in "/../" instead of "/" and I don't know ...
http://www.ietf.org/rfc/rfc2396.txt
5.2. Resolving Relative References to Absolute Form
6) a) All but the last segment of the base URI's path component is
copied to the buffer. In other words, any characters after the
last (right-most) slash character, if any, are excluded. b) The reference's path component is appended to the buffer
string. c) All occurrences of "./", where "." is a complete path segment,
are removed from the buffer string. d) If the buffer string ends with "." as a complete path segment,
that "." is removed. e) All occurrences of "<segment>/../", where <segment> is a
complete path segment not equal to "..", are removed from the
buffer string. Removal of these path segments is performed
iteratively, removing the leftmost matching pattern on each
iteration, until no matching pattern remains. f) If the buffer string ends with "<segment>/..", where <segment>
is a complete path segment not equal to "..", that
"<segment>/.." is removed. g) If the resulting buffer string still begins with one or more
complete path segments of "..", then the reference is
considered to be in error. Implementations may handle this
error by retaining these components in the resolved path (i.e.,
treating them as part of the final URI), by removing them from
the resolved path (i.e., discarding relative levels above the
root), or by avoiding traversal of the reference. h) The remaining buffer string is the reference URI's new path
component.g) means it's an error, but may be handled as /../ or / - jakarta.commons.io.FilenameUtils' null in the sense of notifying an error is also correct. Hmm ...
Joerg
