Backbone pushState und Fehler 404

8

Ich versuche, die { pushState : true } zu implementieren, aber es funktioniert nur für die Basisroute, nicht mit der anderen, die mir weiterhin Fehler 404 geben.

Wenn ich in Chrome auf Folgendes zugreife:

Ссылка - OK, die Konsolennachricht wird angezeigt

Ссылка - Fehler 404 wird zurückgegeben

Meine Route ist

%Vor%

Mein .htaccess

%Vor%

Was ich vermisse oder falsch mache?

    
Massimiliano Marini 11.03.2013, 22:06
quelle

3 Antworten

15

Denken Sie daran, dass Backbone ein clientseitiges Framework ist. Wenn Sie pfadbasierte URLs für das Routing (Push-Status) verwenden, müssen Sie dennoch sicherstellen, dass der Server das korrekte Markup für diese URLs zurückgibt. Dies ist in den Backbone-Dokumenten zusammengefasst:

  

Beachten Sie, dass die Verwendung von echten URLs erfordert, dass Ihr Webserver diese Seiten korrekt rendern kann, sodass auch Back-End-Änderungen erforderlich sind. Wenn Sie beispielsweise eine Route von / documents / 100 haben, muss Ihr Webserver diese Seite bedienen können, wenn der Browser diese URL direkt aufruft. Für die vollständige Crawlbarkeit der Suchmaschinen ist es am besten, wenn der Server den vollständigen HTML-Code für die Seite generiert. Wenn es sich um eine Webanwendung handelt, müssen Sie nur den gleichen Inhalt für die Stamm-URL rendern und den Rest mit Backbone ausfüllen Ansichten und JavaScript funktioniert gut.

Mit anderen Worten, Backbone kann Ihnen nicht helfen, wenn Ihr Server example.app/show nicht versteht - Sie müssen den Server reparieren, indem Sie eine URL-Neufassung und / oder Ihre serverseitige Sprache Ihrer Wahl verwenden.

    
McGarnagle 11.03.2013 22:15
quelle
0

Sie müssen eine Initialisierungsfunktion für diesen Fall erstellen.

Ich habe etwas auf dem Boilerplate-Router angeschlossen, fügen Sie das ein, bevor Sie den Router am Ende des Skripts initialisieren.

%Vor%     
Shobhit Sharma 09.09.2013 13:11
quelle
-2

Ich denke, du verpasst vielleicht nur das "#" in deiner URL. Ich habe jetzt einige Tutorials verfolgt und mir ist gerade aufgefallen, dass sie die Anfrage daran hindern, zum Server zu gehen.

Also statt Ссылка
haben Ссылка

und Backbone sollte es fangen können.

    
royco 24.09.2013 12:21
quelle

Tags und Links