title: Angular route with multiple parameters
body: <p>I have a page that will be open by another application with parameterized URL.</p>
  
  <p>Ex: <code>sitename.com/language/myapplication?param1=xxx&amp;param2=xxx</code></p>
  
  <p>In my component .ts I have:</p>
  
  <pre><code>this.param1= this.route.snapshot.queryParamMap.get('param1');
  this.param1= this.route.snapshot.queryParamMap.get('param2');
  
  this.router.navigate(['/myapplication'],
    {
      queryParams: {
        param1: this.param1, param2: this.param1
      }
    });
  </code></pre>
  
  <p>I am using routing module as well:</p>
  
  <pre><code>const routes: Routes = [
    { path: '', redirectTo: '/myapplication', pathMatch: 'full' },
    { path: 'myapplication', component: myComponent },
    { path: '**', component: PageNotFoundComponent }
  ];
  </code></pre>
  
  <p>When I open the URL directly with the parameters it works fine.</p>
  
  <p><strong>Problem 1:</strong></p>
  
  <p>I have multi language on it, i18n, so when I change language via dropdown, the parameters disappear and it redirects to <code>mysite.com/language/myapplication</code> but I need something like <code>sitename.com/fr/myapplication?param1=xxx&amp;param2=xxx</code></p>
  
  <p><strong>Problem 2:</strong></p>
  
  <p>I want to force "page not found" in every scenario except when I have the URL with the parameters</p>
  
  <p><strong>Problem 3:</strong></p>
  
  <p>How can I transform those parameters from optional to required?</p>