Good question. I didn't think it was necessary at first, either.

In practice, the new url pattern won't actually get used to dispatch to a view. All valid `/docs/...` URLs should match URL patterns higher in precedence before hitting this last "catchall" URL pattern. For instance, `/docs/pip/en/latest/...` would match this pattern:

    # For serving docs locally and when nginx isn't
    url((r'^docs/(?P<project_slug>[-\w]+)/(?P<lang_slug>%s)/(?P<version_slug>'
         r'[-._\w]+?)/(?P<filename>.*)$') % LANGUAGES_REGEX,
        'core.views.serve_docs',
        name='docs_detail'),

So, why add a new url pattern?

The problem I ran into was that CommonMiddleware was mangling valid URLs before they reached my new SingleVersionMiddleware by appending a slash.

If a URL like `pip.readthedocs.org/blah.html` doesn't match any url pattern, then CommonMiddleware turns it into `pip.readthedocs.org/blah.html/`. To prevent that, I added the new url pattern so that `pip.readthedocs.org/blah.html` would match something, and remain unchanged.

Perhaps there's a more straightforward way to achieve this?