2017-08-11 1 views
0

Ich habe ein Problem mit den Winkeln 2 immer die gleiche Seite, nach der Aktualisierung oder direkt beim Eintragen zu laden (nicht durch einen internen Link angeklickt).Erste URL Rewrite arbeitet richtig mit kantigen 2

Derzeit habe ich diesen Code für die Winkel 2-Routing:

import { NgModule }    from '@angular/core'; 
import { RouterModule, Routes } from '@angular/router'; 

import { RegistrationComponent } from './registration/registration.component'; 
import { HomepageComponent } from './homepage/homepage.component'; 



const appRoutes: Routes = [ 

    { path: 'register', component: RegistrationComponent }, 
    { path: '', component: HomepageComponent } 
]; 
@NgModule({ 
    imports: [ 
    RouterModule.forRoot(appRoutes) 
    ], 
    exports: [ 
    RouterModule 
    ] 
}) 
export class AppRoutingModule {} 

Um den Hash-Zeichen aus der URL zu entfernen und noch haben sie eine Seite laden, ich habe folgendes Nginx Rewrite:

location/{ 
    try_files $uri $uri/ /index.html; 
} 

Immer, wenn ich entweder versuchen, oder direkt eingeben aktualisieren der/route registrieren, ich auf die Homepage weitergeleitet. Gibt es eine Möglichkeit, auf der Seite/register zu bleiben, ohne zur Startseite weitergeleitet zu werden?

Antwort

-2

Sie haben keine URL-Rewriting brauchen, weil Angular HashLocationStrategy und PathLocationStrategy hat.

+0

Ich benutze die PathLocationStrategy, weil ich nicht den Hash (also keine HashLocationStrategy) will und basierend auf meinem Verständnis und Beiträge auf SO, scheint die PathLocationStrategy etwas auf der Serverseite, daher ist das Nginx Neuschreiben. Fehle ich etwas? – freetoplay

+0

Es erfordert nur alle Anforderungen an bestanden zu haben, wird – be4code

+0

index.html Ich denke, ich tue das mit der nginx Rewrite-Richtlinie, die ich oben geschrieben, aber das Problem ist jetzt die Refresh führt mich zum HomeComponent zurück, aber ich mag Bleibe auf der Seite/register. – freetoplay