`.1` matches `.1posix` because a `*` is tacked on to the [search string][1]:

    path = "../www/manpages/%s/%s/man%d/%s.%d%s*.html" % (d, lr, i, t, i, extra)

As to why the ordering is weird, it's because they use [`glob.glob`](http://bazaar.launchpad.net/~kirkland/ubuntu-manpage-repository/main/view/head:/cgi-bin/search.py#L120), which has [weird ordering](http://stackoverflow.com/questions/6773584/how-is-pythons-glob-glob-ordered). One quick fix would be to sort by length, which would return shorter (and presumably more exact). In any case, a "fix" from the client side looks difficult.


  [1]: http://bazaar.launchpad.net/~kirkland/ubuntu-manpage-repository/main/view/head:/cgi-bin/search.py#L117