0

早晨!我正在使用 hyn 包版本 5.6 编写一个 laravel 7 多租户项目现在我有一个主要应用程序(localhost)和一个子域(tecnotienda.localhost)。但是当我路由它们时,它通常会重叠,我的意思是:它只显示主体或只显示子域。这是我的路线/web.php

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ReportController;


/*
|--------------------------------------------------------------------------
| PRIMERA PARTE: RUTAS DEL ADMINISTRADOR
|--------------------------------------------------------------------------
|
| Las rutas a continuación, corresponden a unas rutas por default y las rutas 
| de autenticación para el admin de la aplicación principal
|
*/


Route::get('/',function(){
  return view('index');
});
// ruta al enviar correo
Route::post('/send', 'ControllerMail@send');

Route::get('/home', 'HomeController@index')->name('home');


Route::post('user/logout','Auth\LoginController@userLogout')->name('user.logout');

Route::prefix('admin')->group(function(){
    //admin dashboar
    Route::get('/','AdminController@index')->name('admin.dashboard');

    //login
    Route::get('/login','Auth\AdminLoginController@showLoginForm')->name('admin.login');
    Route::post('/login','Auth\AdminLoginController@login')->name('admin.login.submit');

    //logout
    Route::post('/logout','Auth\AdminLoginController@logout')->name('admin.logout');

    //register
    Route::get('/register','Auth\AdminRegisterController@showRegistrationForm')->name('admin.register');
    Route::get('/register','Auth\AdminRegisterController@register')->name('admin.register.submit');
    /*
    |--------------------------------------------------------------------------
    | ADMINISTRACIÓN DE LOS TENANTS
    |-------------------------------------------------------------------------
    |
    */
    Route::get('/tenants','TenantController@index')->name('admin.tenant.index');
    Route::get('/tenants/new-tenant','TenantController@showForm')->name('admin.tenant.show');
    Route::post('/tenants/done','TenantController@create')->name('admin.tenant.create');
    Route::get('/tenants/{id}','TenantController@edit')->name('admin.tenant.edit');
    Route::post('/tenants/{record_id}/update', 'TenantController@update')->name('admin.tenant.update');
    
    Route::get('/posts/{id}','TenantController@deactivate')->name('admin.tenant.deactivate');
    //sofdelete


      /*
    |--------------------------------------------------------------------------
    | REPORTES
    |-------------------------------------------------------------------------
    |
    */
    Route::get('/reports','ReportController@index')->name('admin.report.index');

    //algo raro pasa aca
    Route::get('/reports/pdf','ReportController@pdf');


});



//tenant
Route::domain('tecnotienda.localhost')->group(function () {
  Route::get('/', function () {
    return view('tecnotienda.welcome');
});

// Login Routes
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

});

我正在尝试使用 EnforceTenancy 中间件,就像这个页面https://www.seismicpixels.com/creating-a-laravel-saas-framework-part-3 但是......它没有效果

简历:我需要按租户 fqdn 提供的子域对路由进行分组。你能帮助我吗?

4

2 回答 2

0

你可以使用这个Laravel dotenv

为生产、登台、开发、验收制作环境文件,您可以使用子域

于 2020-11-24T15:40:18.153 回答
0

它是解决方案之一,还有其他可能的解决方案,但如果您只根据域使用一个路由更改,那么它会快速简单。

Route::get('/', function (\Illuminate\Http\Request $request) {
   if(strpos($request->getHost(), 'trial.local.com') === 0){ 
       return "sub"; 
   }else{
       return view('welcome'); 
   }
});
于 2020-11-24T17:18:18.130 回答