diff --git a/contrib/conf/apache-modpython.conf.in b/contrib/conf/apache-modpython.conf.in
--- a/contrib/conf/apache-modpython.conf.in
+++ b/contrib/conf/apache-modpython.conf.in
@@ -6,7 +6,7 @@
 	ErrorDocument 500 /errordocs/500.html
 
 	# Serve django pages
-	<Location "/">
+	<Location "@siteroot@">
 		PythonPath "['@sitedir@/conf'] + sys.path"
 		SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings
 		SetEnv PYTHON_EGG_CACHE "@sitedir@/tmp/egg_cache"
@@ -20,10 +20,10 @@
 
 	# Serve static media without running it through mod_python
 	# (overrides the above)
-	<Location "/media">
+	<Location "@siteroot@media">
 		SetHandler None
 	</Location>
-	<Location "/errordocs">
+	<Location "@siteroot@errordocs">
 		SetHandler None
 	</Location>
 
@@ -32,6 +32,6 @@
 	</Directory>
 
 	# Alias static media requests to filesystem
-	Alias /media "@sitedir@/htdocs/media"
-	Alias /errordocs "@sitedir@/htdocs/errordocs"
+	Alias @siteroot@media "@sitedir@/htdocs/media"
+	Alias @siteroot@errordocs "@sitedir@/htdocs/errordocs"
 </VirtualHost>
diff --git a/reviewboard/cmdline/rbsite.py b/reviewboard/cmdline/rbsite.py
--- a/reviewboard/cmdline/rbsite.py
+++ b/reviewboard/cmdline/rbsite.py
@@ -413,6 +413,7 @@ class Site(object):
             'sitedomain': self.domain_name,
             'sitedomain_escaped': domain_name_escaped,
             'siteid': self.site_id,
+            'siteroot': self.site_root,
         }
 
         template = re.sub("@([a-z_]+)@", lambda m: data.get(m.group(1)),
