0

Nach dem Aktivieren $locationProvider.html5Mode(true); und <base href="/" /> in den index.html Routen begann Abstürze nach manuellem Neuladen.

Nach Lösungen gesucht habe ich festgestellt, dass .htaccess Regeln dieses Problem beheben, aber verschiedene Konfigurationen haben nicht geholfen.

Vielleicht ist dies, weil mein index.html im Unterverzeichnis ist /views/index.html

.htaccess:

Options +FollowSymLinks 

<ifModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !index 
    RewriteRule (.*) index.html [L] # /views/index.html doesn't work as well 
</ifModule> 

route config

app.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 
    $locationProvider.html5Mode(true); 

    $routeProvider 
     .when('/', { 
      templateUrl: 'home.html', 
      controller: 'AddTaskCtrl', 
      controllerAs: 'AddTask' 
     }) 
     .when('/chat', { //this route breaks on manual refresh 
      templateUrl: 'chat.html', 
      controller: 'ChatCtrl', 
      controllerAs: 'chat' 
     }) 
}]); 

Antwort

1

Schritt 1: Verwenden Sie nur $ locationP rovider.html5Modus (wahr);

Schritt 2: Ändern Sie Ihre .htaccess

RewriteEngine on 

# Don't rewrite files or directories 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

# Rewrite everything else to index.html to allow html5 state links 
RewriteRule^index.html [L] 

Wenn index.html ist Last zeigen Sie Ihre App starten oder mehr Methoden https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode

+0

sehen zwar Problem nicht in der '.htaccess' Datei war, Ihre Link zu FAQ war sehr hilfreich. Vielen Dank – lomboboo

Verwandte Themen