From 748000afd9fcd33a828b0bf09519430ac6327d19 Mon Sep 17 00:00:00 2001 From: Sajeyks Date: Wed, 30 Sep 2026 16:03:37 +0300 Subject: [PATCH] Avoid nested hostnames when /dev-sites/ is opened on a site address --- utils/middleware.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/utils/middleware.py b/utils/middleware.py index fd6a5851..faf3b23a 100644 --- a/utils/middleware.py +++ b/utils/middleware.py @@ -95,6 +95,12 @@ class DevSiteSwitcherMiddleware(object): """A page listing every configured site as a link, on any host""" host, _, port = request.get_host().partition(':') port = ':' + port if port else '' + # opened on a site's own address (e.g. blog.ungleich.ch.localhost): + # drop that site's prefix so links are not nested + for domain in self.domains(): + if host.lower().startswith(domain + '.'): + host = host[len(domain) + 1:] + break if re.match(r'^\d+\.\d+\.\d+\.\d+$', host): # an IP has no subdomains; sslip.io resolves ..sslip.io base = host + '.sslip.io'