diff --git a/searx/webapp.py b/searx/webapp.py index 4c09f0ac..072f140c 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -1133,11 +1133,14 @@ class ReverseProxyPathFix: base_url = urlparse(settings['server']['base_url']) self.script_name = base_url.path + if self.script_name.endswith('/'): + # remove trailing slash to avoid infinite redirect on the index + # see https://github.com/searx/searx/issues/2729 + self.script_name = self.script_name[:-1] self.scheme = base_url.scheme self.server = base_url.netloc def __call__(self, environ, start_response): - script_name = self.script_name or environ.get('HTTP_X_SCRIPT_NAME', '') if script_name: environ['SCRIPT_NAME'] = script_name