--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -703,7 +703,7 @@ class hgweb(object):
# strip leading /
pi = pi[1:]
if pi:
- root = root[:-len(pi)]
+ root = root[:root.rfind(root, pi)]
if req.env.has_key('REPO_NAME'):
rn = req.env['REPO_NAME'] + '/'
root += rn