Laravel 5, Sub-Domain-Routing, mit optionalen Parameter

8

Ich habe gerade begonnen, Laravel 5 zu lernen und versuche, eine mehrsprachige Website zu erstellen und möchte verschiedene Domains für die Sprache verwenden, so dass en.example.app auf die englische Version, es.example.app auf Spanisch und so weiter zeigt. Ich verwende Routengruppen und unten ist mein Code.

%Vor%

Es funktioniert für alle Domains außer example.app. Leider funktionieren die optionalen Parameter {domain?} Nicht für Subdomains, und ich möchte solche Routen nicht duplizieren.

%Vor%

Könnte jemand bitte beraten, wie man diese Vervielfältigung vermeidet?

    
Teymur 23.08.2015, 21:10
quelle

6 Antworten

3

Ein MiddleWare hat mir geholfen.

%Vor%

Und in MiddleWare -

%Vor%     
Sougata Bose 14.07.2016 05:38
quelle
2

Um den Domain-Parameter in Ihrer Routenfunktion zu verwenden, müssen Sie ihn wie folgt übergeben:

%Vor%

Es ist in den Dokumenten hier - Ссылка

enthalten     
taekni 23.08.2015 23:27
quelle
2

Das ist, weil die {domain}.example.app eine . vor example.app benötigt.

Sie können . entfernen und contraint für den Parameter domain hinzufügen, damit es fast 1 .

hat

Der Code sieht dann so aus

%Vor%

P.S. : Ich weiß nicht, ob meine Regex korrekt ist oder nicht.

    
Kapil Garg 13.07.2016 11:52
quelle
2

Sie könnten eine Datei namens app-routes.php erstellen, die alle Ihre Routen enthält und dann in Ihrer tatsächlichen routes.php Datei

%Vor%     
J. Davis 18.07.2016 16:03
quelle
1

Ihre Optionen sind entweder die Routenduplizierung oder eine Umleitung auf Serverebene für HTTP-Anfragen ohne Subdomain.

Die einfache Option besteht darin, example.app nur an www.example.app weiterzuleiten.

    
Qevo 14.07.2016 04:07
quelle
1
%Vor%

Dieses Muster ist gut, aber wenn Sie eine andere Sprache verwenden möchten, fügen Sie eine Lokalisierungsdatei hinzu

    
tapos ghosh 19.07.2016 08:28
quelle