2016-06-13 2 views
0

ich eine meiner URL der Anwendung auf die Stamm-URL umleiten möchten, wenn seine in den Browser eingegeben,Umleiten Root-URL in Rails

sagen, wenn jemand schlägt "localhost:3000/home" zum "localhost:3000" umgeleitet werden soll.

Grundsätzlich möchte ich jede der URL (meine Anwendung URL), die mit www.any_url.com/home endet auf die entsprechende root_url der Anwendung umleiten.

Antwort

1

Sie können dies in der routes.rb umgehen.

Wir leiten die/home Route nach/um. Wenn jemand versucht, auf localhost: 3000/home zuzugreifen, werden diese automatisch auf die Hauptseite von localhost: 3000 weitergeleitet.

get '/home' => redirect('/') 
+0

danke es funktionierte für mich. –

1

Ich sehe dies eine akzeptierte Antwort, aber nur für den Fall jemand anderes kommt, dachte ich, es lohnt sich eine allgemeinere Lösung zu routen alle ungültigen URLs an den root url hinzuzufügen und den Anforderer mitteilen, dass die angeforderte URL ist dauerhaft bewegt.

301-Weiterleitung dauerhaft verschoben

Wenn Sie die unten als die letzte Zeile in routes.rb umfassen, alle Strecken, die nicht erkannt werden, werden an die Root-URL weitergeleitet. Darüber hinaus ist Rails redirect Helper eine [301-redirect][1] welcher Status informiert den Anfragenden (Suchmaschine mit einem schlechten, veraltete indexierte Verbindung, zum Beispiel), dass dies eine dauerhafte Bewegung ist. Dadurch bleibt der Suchmaschinenindex Ihrer App sauber und korrekt.

# This is a catchall redirect to home (does not help with (e) type errors) 
    # CAUTION: This line will mask routing errors 
    get "*path", to: redirect('/') 
+0

Nice one. Daumen hoch und stimmen auf. –

+0

Danke und danke. – Elvn