2016-04-07 14 views
0

Ich habe eine Anwendung, die mehrere Domänen verwendet: 1. die Hauptdomäne 2. Domänen für verschiedene Bereiche der Website (jeder Benutzer kann eine eigene Domäne haben Seite, gespeichert im user_profile).Laravel 5.2: Filter Route Gruppe basierend auf dem Domänennamen

Ich brauche eine Routengruppe, die nur für die Hauptdomain verfügbar sein soll, und eine andere Gruppe, die für die anderen Domänen verfügbar sein wird. Die erste Gruppe ist für die anderen Domänen nicht verfügbar und die zweite Gruppe ist für die Hauptdomäne nicht verfügbar. Wie kann ich das umsetzen?

Eine Middleware ist die Lösung? Wie kann ich auf die aktuelle Domain in einer Middleware zugreifen?

Danke für die Hilfe!

Antwort

1

Dadurch wird die aktuelle Host zurückgeben, die in Ihrer Middleware verwendet werden kann:

$request->server->get('HTTP_HOST')

Sie könnten die eine Route Gruppe wie verwenden eigentlich nur (Ihr routes.php in):

Route::group(['domain' => '{sitedomain}'], function() 
{ 
    // routes here 

})->where('sitedomain', '.+\.your_domain_regex\.com$'); 
+0

und wenn die Domain nicht übereinstimmt, kann ich einen Abbruch ('404') werfen? – Zoli

+2

@Zoli Siehe meine aktualisierte Antwort, die Sie mit einer Routengruppe erreichen könnten. – Ryan

+1

Dies ist auch in den Controllern verfügbar? $ request-> server-> get ('HTTP_HOST') – Zoli

Verwandte Themen