Nous savons tous que le routage de laravel
prend en charge les noms de sous-domaines. Comme suit
Route::group(array('domain' => '{account}.local.com'), function()
{
Route::get('user/{id}', function($account, $id)
{
//
});
});
Mais je rencontre maintenant un problème. L'environnement de développement local, l'environnement de test et l'environnement de production en ligne sont des sous-domaines différents.
Par exemple :
Hors ligne : account.local.com
Test :account.test.com
Généré : account.production.com
En plus d'écrire les règles de routage trois fois, j'ai accidentellement. Je me demande s'il existe un moyen de prendre en charge ces trois noms de sous-domaines dans une seule règle de routage en même temps ?
Route::group(array('domain' => '{account}.local.com'), function()
{
// route
});
Route::group(array('domain' => '{account}.test.com'), function()
{
// route
});
Route::group(array('domain' => '{account}.production.com'), function()
{
// route
});
---------------------------------Ligne de séparation-------------- -- --------------------------
Ce qui suit suffit.
Route::group(array('domain' => 'account.{env}.com'), function()
{
// route
});
Parce que j'ai d'autres noms de domaine et que je ne veux pas les mélangerroute
il faut donc que je les distingue
Route::group(array('domain' => 'help.{env}.com'), function()
{
// route
});
La configuration du routage des trois environnements n'a pas besoin d'être configurée
.domain
Tant que vos trois noms de domaine pointent vers Laravel, ils seront naturellement partagésIl est pris en charge. L'avez-vous testé vous-même ?
Vous pouvez également faire des distinctions dans le fichier de configuration
.env