angular 2 route to 404 page when route param is invalid
<p>Say I have an route with a param like this (in Angular 2): <code>/user1/products/:id</code>, which could have child routes like <code>/user1/products/3/reviews</code>.</p>

<p>When I navigate to <code>/user1/products/-1</code>, I check with my server and if the product doesn't exist, I want to render a 404 page without affecting the browser history.</p>

<p>Using <code>router.navigate(['/404'])</code> or <code>router.navigateByUrl('/404')</code> doesn't seem to work because it adds both <code>/user1/products/-1</code> and<code>/404</code> to the browser history.</p>

<p>Meaning when I press the <strong>Back</strong> button in the browser, I go back to <code>/user1/products/-1</code> which is immediately redirected to <code>/404</code> and I'm essentially stuck at <code>/404</code>.</p>

<p>In ExpressJS, we would do something like <code>next()</code> to pass the request to our 404 handler. Is there a client-side equivalent in Angular 2?</p>