2017-08-08 3 views
1

ich mit mehreren Routen einen Winkel App habe, zum Beispiel:.htaccess bei 404 Fehlern umleiten

/collections 
/collections/1/1 
/servers 
/servers/1 

Und mein app in /var/www/html/myapp/ Die myapp platziert Ordner enthalten das gesamte Projekt und den Index .html Datei. In der index.html Datei ist die Basis auf <base href="/myapp/"> eingestellt.

Und ich habe eine .htaccess-Datei in diesem Ordner, die die Regeln für das Umschreiben

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^index\.html$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.html [L] 
</IfModule> 

enthält Wenn ich zu http://dummydomain.com/myapp/ eingeben versuche es funktioniert gut, aber wenn ich zu http://dummydomain.com/myapp/collections eingeben es funktioniert nicht.

Also meine Frage ist, wie kann ich auf index.html umleiten, wenn 404 Fehler direkt angefordert wird? Vielen Dank!

Antwort

2

Ihre RewriteBase Direktive und / vor index.html werden Anforderungen an Site-Root statt des aktuellen Verzeichnisses weiterleiten.

können Sie verwenden:

DirectoryIndex index.html 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteRule ^index\.html$ - [L,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . index.html [L] 
</IfModule> 
+1

Awesome, es funktioniert! Vielen Dank! –