From df443719abadd4cd901160716135d0862ee39733 Mon Sep 17 00:00:00 2001 From: jorgepastorr Date: Wed, 19 Feb 2025 11:43:22 +0100 Subject: [PATCH] websites fix directive errorDocument --- orchestra/contrib/websites/backends/apache.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/orchestra/contrib/websites/backends/apache.py b/orchestra/contrib/websites/backends/apache.py index 40aafdee..024f4f45 100644 --- a/orchestra/contrib/websites/backends/apache.py +++ b/orchestra/contrib/websites/backends/apache.py @@ -47,6 +47,7 @@ class Apache2Controller(ServiceController): extra_conf += self.get_redirects(directives) extra_conf += self.get_proxies(directives) extra_conf += self.get_saas(directives) + extra_conf += self.get_errordocuments(directives) settings_context = site.get_settings_context() for location, directive in settings.WEBSITES_VHOST_EXTRA_DIRECTIVES: extra_conf.append((location, directive % settings_context)) @@ -343,6 +344,18 @@ class Apache2Controller(ServiceController): ) return redirects + + def get_errordocuments(self, directives): + errordocuments = [] + for erdocument in directives.get('error-document', []): + code, target = erdocument.split(" ", 1) + erdocument = "ErrorDocument %s %s" % (code, target) + errordocuments.append( + (code, erdocument) + ) + return errordocuments + + def get_proxies(self, directives): proxies = [] for proxy in directives.get('proxy', []):