fix(routes): implementing universal routes to resolve 404 on central domain
This commit is contained in:
@@ -15,6 +15,7 @@ return Application::configure(basePath: dirname(__DIR__))
|
|||||||
)
|
)
|
||||||
->withMiddleware(function (Middleware $middleware): void {
|
->withMiddleware(function (Middleware $middleware): void {
|
||||||
$middleware->web(append: [
|
$middleware->web(append: [
|
||||||
|
\Stancl\Tenancy\Middleware\InitializeTenancyByDomainOrSubdomain::class,
|
||||||
\App\Http\Middleware\HandleInertiaRequests::class,
|
\App\Http\Middleware\HandleInertiaRequests::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ use App\Http\Controllers\Landlord\TenantController;
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Route::prefix('landlord')->name('landlord.')->middleware(['web', 'auth'])->group(function () {
|
Route::prefix('landlord')->name('landlord.')->middleware(['web', 'auth', \Stancl\Tenancy\Middleware\PreventAccessFromTenantDomains::class])->group(function () {
|
||||||
// 房東儀表板
|
// 房東儀表板
|
||||||
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
|
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
|
||||||
|
|
||||||
|
|||||||
@@ -11,16 +11,13 @@ use Stancl\Tenancy\Middleware\PreventAccessFromCentralDomains;
|
|||||||
| Tenant Routes
|
| Tenant Routes
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| 租戶專屬路由。當使用者透過租戶網域 (如 koori.koori-erp.test) 存取時,
|
| 租戶專屬路由。當使用者透過租戶網域存取時,會自動初始化租戶 context。
|
||||||
| 會自動初始化租戶 context 並連接到對應的租戶資料庫。
|
|
|
||||||
|
| 注意:目前 ERP 路由定義在 routes/web.php,這些路由在「所有」域名都可用。
|
||||||
|
| 當請求來自租戶域名時,tenancy middleware 會自動切換到租戶資料庫。
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Route::middleware([
|
// 此處可以定義「僅」租戶可用的路由 (central domain 不可存取)
|
||||||
'web',
|
// 目前不需要,因為 ERP 功能對 central 和 tenant 都開放
|
||||||
InitializeTenancyByDomain::class,
|
|
||||||
PreventAccessFromCentralDomains::class,
|
|
||||||
])->group(function () {
|
|
||||||
// 載入與 central 相同的 ERP 路由,但運行在租戶資料庫 context 中
|
|
||||||
require base_path('routes/web.php');
|
|
||||||
});
|
|
||||||
|
|||||||
@@ -16,7 +16,9 @@ use App\Http\Controllers\TransferOrderController;
|
|||||||
use App\Http\Controllers\UnitController;
|
use App\Http\Controllers\UnitController;
|
||||||
use App\Http\Controllers\Admin\RoleController;
|
use App\Http\Controllers\Admin\RoleController;
|
||||||
use App\Http\Controllers\Admin\UserController;
|
use App\Http\Controllers\Admin\UserController;
|
||||||
|
use Stancl\Tenancy\Middleware\InitializeTenancyByDomainOrSubdomain;
|
||||||
|
|
||||||
|
// 登入/登出路由
|
||||||
Route::get('/login', [LoginController::class, 'show'])->name('login');
|
Route::get('/login', [LoginController::class, 'show'])->name('login');
|
||||||
Route::post('/login', [LoginController::class, 'store']);
|
Route::post('/login', [LoginController::class, 'store']);
|
||||||
Route::post('/logout', [LoginController::class, 'destroy'])->name('logout');
|
Route::post('/logout', [LoginController::class, 'destroy'])->name('logout');
|
||||||
|
|||||||
Reference in New Issue
Block a user