diff --git a/flask/blueprints.py b/flask/blueprints.py index 3bdb3d9e..74bca275 100644 --- a/flask/blueprints.py +++ b/flask/blueprints.py @@ -66,7 +66,10 @@ class BlueprintSetupState(object): blueprint's name. """ if self.url_prefix is not None: - rule = '/'.join((self.url_prefix, rule.lstrip('/'))) + if rule: + rule = '/'.join((self.url_prefix, rule.lstrip('/'))) + else: + rule = self.url_prefix options.setdefault('subdomain', self.subdomain) if endpoint is None: endpoint = _endpoint_from_view_func(view_func) diff --git a/tests/test_blueprints.py b/tests/test_blueprints.py index 46364cab..311d77f6 100644 --- a/tests/test_blueprints.py +++ b/tests/test_blueprints.py @@ -116,6 +116,7 @@ def test_blueprint_app_error_handling(app, client): @pytest.mark.parametrize(('prefix', 'rule', 'url'), ( + ('/foo', '', '/foo'), ('/foo/', '/bar', '/foo/bar'), ('/foo/', 'bar', '/foo/bar'), ('/foo', '/bar', '/foo/bar'),