What version are you running? * ReviewBoard 18.104.22.168 * djblets 1.7.8 What's the URL of the page containing the problem? Any link to the config/ or db/ admin page of an extension eg: http://example.com/reviews/admin/extensions/reviewbotext.extension.ReviewBotExtension/config/ What steps will reproduce the problem? 1. Install reviewboard *not* on the root of the web server. eg: /reviews/ 2. install an extension (eg: ReviewBot) 3. click on the 'Configure' or 'Database' links from the extension list admin page What is the expected output? What do you see instead? I expect to see the 'config/' or 'db'/ page, and instead I get a 404 with the following info: Using the URLconf defined in djblets.util.rooturl, Django tried these URL patterns, in this order (irrelevant url patterns removed): ^reviews/ ^admin/extensions/ ^$ ^reviews/ ^admin/ ^$ <snip/> ^reviews/ ^reviews/admin/extensions/reviewbotext.extension.ReviewBotExtension/config/ ^reviews/ ^reviews/admin/extensions/reviewbotext.extension.ReviewBotExtension/config/ ^reviews/ ^reviews/admin/extensions/reviewbotext.extension.ReviewBotExtension/db/ <snip/> The current URL, reviews/admin/extensions/reviewbotext.extension.ReviewBotExtension/config/, didn't match any of these. Note that if I manually enter http://example.com/reviews/reviews/admin/extensions/reviewbotext.extension.ReviewBotExtension/config/ (with the redundant '/reviews/') the page works. I did some digging and this seems to be happening because djblets.extensions.base.ExtensionManager always prefixes the extension admin_urls with reverse('djblets.extensions.views.extension_list').lstrip('/') which ends up including the redundant '/reviews/' sub-url.