Angular.js Routen funktionieren nicht auf WAMP

Ich arbeite an der Einrichtung einer Angular.js-Einzelseitenanwendung, die mit einem Express-, Node- und mySQL-Stack erstellt wurde. Ich habe folgenden Code für die Routen eingerichtet:

angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives']).
  config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
     $routeProvider
      .when('/', {
        templateUrl: 'partials/index',
        controller: IndexCtrl
      })
      .when('/addPost', {
        templateUrl: 'partials/addPost',
        controller: AddPostCtrl
      })
      .when('/readPost/:id', {
        templateUrl: 'partials/readPost',
        controller: ReadPostCtrl
      })
      .when('/editPost/:id', {
        templateUrl: '/partials/editPost',
        controller: EditPostCtrl
      })
      .when('/deletePost/:id', {
        templateUrl: 'partials/deletePost',
        controller: DeletePostCtrl
      })
      .when('/todos', {
        templateUrl: 'partials/todos',
        controller: TodosCtrl
     })
     .otherwise({
        redirectTo: '/'
     });

    $locationProvider.html5Mode(true);
  }]);

Wenn ich zu meiner Anwendung localhost: 3000 gehe und dann auf einen Link für localhost: 3000 / todos klicke, funktioniert alles. Beim Aktualisieren der Seite wird jedoch die Fehlermeldung "GET / todos nicht möglich" angezeigt. Nach einigen Nachforschungen habe ich festgestellt, dass das Problem darin besteht, dass beim Aktualisieren des Servers versucht wird, / todos zu laden, und dass die Ressource nicht vorhanden ist. Die Lösung scheint darin zu bestehen, mod_rewrite so einzurichten, dass jede Seite zum Index umgeleitet wird, damit der Index korrekt weitergeleitet werden kann.

So habe ich sichergestellt, dass mod_rewrite in der httpd.conf nicht festgeschrieben ist, und den folgenden Abschnitt aktualisiert:

<Directory />
    AllowOverride all
    Order Allow,Deny
    Allow from all
</Directory>

Then erstellte eine .htaccess-Datei in meinem Stammverzeichnis mit app.js. In der von mir erstellten .htaccess-Datei habe ich den folgenden Code hinzugefügt:

<IFModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^(.*)$ '/'
</IFModule>

Dann habe ich Apache neu gestartet und auf localhost: 3000 / todos die Aktualisierungstaste gedrückt und die gleiche Meldung "GET / todos nicht möglich" erhalten. Was mache ich hier falsch?

Einige Gedanken, die ich habe, sind

Ich weiß nicht, in welchem Verzeichnis .htaccess abgelegt werden soll, also habe ich es einfach im Stammverzeichnis abgelegt. Ich bin nicht sicher, ob '/' der richtige Ort ist, an den der Benutzer gesendet werden soll. Ich möchte, dass er zum Index wechselt. Da ich jedoch nur eine index.jade-Datei in /public/index.jade habe, frage ich mich, ob ich muss irgendwie darauf hinweisen aber die jade erweiterung scheint falsch.Ist die RewriteRule, die ich geschrieben habe, um den Benutzer auf die Zielseite oder die richtige Seite zu leiten, die er aktualisiert / mit einem Lesezeichen versehen hat, d.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage