2017-08-29 4 views
0

Ich habe ein Symfony-Backend auf meinem Server installiert und im symfony/web-Ordner habe ich einen neuen Ordner "app" angelegt und es gibt eine index.html. Wenn ich https://example.com/app/ rufe, bekomme ich 404 und mit https://example.com/app/index.html funktioniert es. Ich habe versucht, die DirectoryIndex- im symfony .htaccess aus, dies zu ändern:.htaccess - DirectoryIndex für einen Ordner

DirectoryIndex app.php 

Um dies:

DirectoryIndex app.php index.html 

Aber es funktioniert immer noch nicht. Wie kann ich das tun, wenn ich example.com/app/ aufrufen werde, wird die index.html geöffnet (nur damit der Ordner die Symfony-Einstellungen nicht zerstört)?

Antwort

0

Der einfachste Weg, es zu tun:

# end of routing.yml 
redirect_to_index: 
    path: /app/? 
    defaults: 
     _controller: FrameworkBundle:Redirect:urlRedirect 
     path: /app/index.html 
     permanent: true 

Aber es wird /app/index.html, nicht nur /app/ sein.

+0

wäre schön, wenn es nur/app bleibt/wenn Sie es nennen, ohne index.html dahinter. Und mit Ihrer Lösung, wenn ich example.com/app (ohne letzten Schrägstrich) aufrufen, bekomme ich 404 wieder. – Nono

+0

Wenn Sie nur '/ app /' wollen, ja, müssen Sie die '.htaccess' aktualisieren – mykiwi

1

Sie können diese Zeile am Anfang Ihrer app/.htaccess verwenden:

DirectoryIndex index.html 
RewriteEngine On 

RewriteCond %{THE_REQUEST} /index\.html [NC] 
RewriteCond %{REQUEST_URI} ^(.*/)index\.html$ [NC] 
RewriteRule^%1 [L,R=301,NE] 

# remaining rules go below this 
+0

Ja, das funktioniert. Aber es fügt auch /index.html hinter der URL an. Es wäre schön, wenn es bleibt/app/ – Nono

+0

überprüfen Sie meine aktualisierte Antwort. Behalte die Umleitungsregel oben und alle deine Regeln unterhalb meiner vorgegebenen Linie. Dann testen Sie von einem neuen Browser. – anubhava

Verwandte Themen