J'ai une application construite en utilisant Laravel 5.2. L'application a 3-4 différents types de cas d'utilisation totalement différents, (mini applications, si vous le pouvez). Donc, j'héberge le site principal et les itinéraires pour les administrateurs sur le domaine principal. Pour chacune des mini-applications, j'ai créé un sous-domaine et toutes les mini-routes d'application ont leurs propres sous-domaines. La façon dont je l'ai sous-domaines cartographiés sont:Laravel 5.2 routage de sous-domaine en utilisant la fonction de routeur
$sub = str_replace('http://', '', strstr(Request::fullUrl(), '.', true));
if ($sub == env('APP_SUB1')) {
//Subdomain1 routes
} else if ($sub == env('APP_SUB2')) {
//Subdomain2 routes
}
Maintenant, je veux être en mesure d'utiliser le sous-domaine Laravel routes sous-domaine en construction, et j'ai essayé:
Route::group(['domain' => env('APP_DOMAIN')], function() {
Route::get('/', function() {
echo 'Main Site';
die;
});
});
Route::group(['domain' => '{sub1}.'.env('APP_DOMAIN')], function() {
Route::get('/', function ($sub1) {
echo 'Sub1 Site';
die;
});
});
Route::group(['domain' => '{sub2}.'.env('APP_DOMAIN')], function() {
Route::get('/', function ($sub2) {
echo 'Sub2';
die;
});
});
MISE À JOUR
Un peu plus d'informations sur le comportement:
- Lorsqu'un utilisateur visite s www.mondomaine.com/login, la page de connexion pour les administrateurs doit être affichée.
- Lorsqu'un utilisateur visite sub1.mydomain.com/login, , la page de connexion pour les utilisateurs de l'application sub1 doit être affichée.
- Lorsqu'un utilisateur visite sub2.mydomain.com/login, la page de connexion pour les utilisateurs d'application sub2 doivent figurer, et ainsi de suite ...
Ma méthode plus tôt par l'analyse de l'URL complète de la demande puis en routant les utilisateurs en conséquence, fonctionne. Ce que je veux, c'est un moyen plus robuste et élégant (donc essayé en utilisant le routage de domaine Laravel). Mais avec l'exemple de code que j'ai montré ci-dessus, avec les sous-domaines, je vois toujours 'Sub1 Site', quel que soit le sous-domaine passé.
Vous avez seulement besoin de le passer si vous avez besoin de l'utiliser dans le rappel que je pense. – apokryfos
J'ai essayé sans passer et dans ce cas, toutes les URL imprimées seulement "sub1" – gentrobot
Pouvez-vous mettre à jour votre question avec ce qui ne fonctionne pas et quel devrait être le comportement prévu? – apokryfos