diff --git a/app/assets/javascripts/discourse/routes/app-route-map.js.es6 b/app/assets/javascripts/discourse/routes/app-route-map.js.es6 index 76f3803c9f8..a1de0bfc74e 100644 --- a/app/assets/javascripts/discourse/routes/app-route-map.js.es6 +++ b/app/assets/javascripts/discourse/routes/app-route-map.js.es6 @@ -132,7 +132,7 @@ export default function() { this.route('showCategory' + filter.capitalize(), {path: '/c/:category/:tag_id/l/' + filter}); this.route('showParentCategory' + filter.capitalize(), {path: '/c/:parent_category/:category/:tag_id/l/' + filter}); }); - this.route('show', {path: 'intersection/:tag_id/*additional_tags'}); + this.route('intersection', {path: 'intersection/:tag_id/*additional_tags'}); }); this.route('tagGroups', {path: '/tag_groups', resetNamespace: true}, function() { diff --git a/app/assets/javascripts/discourse/routes/tags-intersection.js.es6 b/app/assets/javascripts/discourse/routes/tags-intersection.js.es6 new file mode 100644 index 00000000000..5b0e7d8e9ff --- /dev/null +++ b/app/assets/javascripts/discourse/routes/tags-intersection.js.es6 @@ -0,0 +1,9 @@ +import TagsShowRoute from 'discourse/routes/tags-show'; + +export default TagsShowRoute.extend({}); + +// The tags-intersection route is exactly the same as the tags-show route, but the wildcard at the +// end of the route (*additional_tags) will cause a match when query parameters are present, +// breaking all other tags-show routes. Ember thinks the query params are addition tags and should +// be handled by the intersection logic. Defining tags-intersection as something separate avoids +// that confusion.