diff --git a/mercurial/hgweb/hgwebdir_mod.py b/mercurial/hgweb/hgwebdir_mod.py
index 68b5d7005cca68b3757d10aaa3164bf0647f624f_bWVyY3VyaWFsL2hnd2ViL2hnd2ViZGlyX21vZC5weQ==..dd74cd1e5d49cdedfd2a0cf142a9ce1178e4b748_bWVyY3VyaWFsL2hnd2ViL2hnd2ViZGlyX21vZC5weQ== 100644
--- a/mercurial/hgweb/hgwebdir_mod.py
+++ b/mercurial/hgweb/hgwebdir_mod.py
@@ -368,4 +368,7 @@
             env['SERVER_NAME'] = u.host
             if u.port:
                 env['SERVER_PORT'] = u.port
-            env['SCRIPT_NAME'] = '/' + u.path
+            path = u.path or ""
+            if not path.startswith('/'):
+                path = '/' + path
+            env['SCRIPT_NAME'] = path