diff --git a/addons/website/models/ir_http.py b/addons/website/models/ir_http.py index 1833ce102db..c0a9e209d00 100644 --- a/addons/website/models/ir_http.py +++ b/addons/website/models/ir_http.py @@ -91,7 +91,12 @@ class ir_http(orm.AbstractModel): assert path is not None except Exception: return self._handle_exception(werkzeug.exceptions.NotFound()) - if path != werkzeug.url_quote(request.httprequest.path): + + generated_path = werkzeug.url_unquote_plus(path) + current_path = werkzeug.url_unquote_plus(request.httprequest.path) + if generated_path != current_path: + if request.lang != request.website.default_lang_code: + path = '/' + request.lang + path return werkzeug.utils.redirect(path) def _handle_exception(self, exception=None, code=500):