From c09b89596e71b657d16fec15f6950e2e58afe42b Mon Sep 17 00:00:00 2001
From: Romain Derie <rde@odoo.com>
Date: Wed, 11 Apr 2018 11:44:39 +0200
Subject: [PATCH] [FIX] website: keep query strings when redirecting 'website.'
 page

Urls like `/page/website.XXX` are redirected to `/page/XXX`.

Before this commit, the redirection would not keep query strings:
`/page/website.XXX?rde=1` would redirect to `/page/XXX`.

Now, we keep the query strings:
`/page/website.XXX?rde=1` will redirect to `/page/XXX?rde=1`

Closes #24140

Courtesy of @MTantin
---
 addons/website/controllers/main.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py
index 45940ac4cc4d..49041b42844c 100644
--- a/addons/website/controllers/main.py
+++ b/addons/website/controllers/main.py
@@ -76,7 +76,10 @@ class Website(openerp.addons.web.controllers.main.Home):
         }
         # /page/website.XXX --> /page/XXX
         if page.startswith('website.'):
-            return request.redirect('/page/' + page[8:], code=301)
+            url = '/page/' + page[8:]
+            if request.httprequest.query_string:
+                url += '?' + request.httprequest.query_string
+            return request.redirect(url, code=301)
         elif '.' not in page:
             page = 'website.%s' % page
 
-- 
GitLab