我有一個使用Laravel 5.2構建的應用程序。該應用程序有3-4種不同類型的完全不同的使用情況,(如果可能,小型應用程序)。因此,我在主域名上託管主站點和管理員的路線。對於每個迷你應用程序,我創建了一個子域,所有迷你應用程序路徑都有自己的子域。我已映射子域的方式是:通過使用路由器功能Laravel 5.2子域路由
$sub = str_replace('http://', '', strstr(Request::fullUrl(), '.', true));
if ($sub == env('APP_SUB1')) {
//Subdomain1 routes
} else if ($sub == env('APP_SUB2')) {
//Subdomain2 routes
}
現在,我希望能夠使用Laravel子域在建的子域路由,我想:
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;
});
});
UPDATE
關於該行爲的更多信息:
- 當用戶訪問www.mydomain.com/login,應顯示 管理員的登錄頁面。
- 當用戶訪問sub1.mydomain.com/login, 時,應顯示sub1應用程序用戶的登錄頁面。
- 當用戶訪問sub2.mydomain.com/login,爲 用戶SUB2應用的登錄頁面應該顯示,等等...
我早些時候通過解析完整的請求URL方法然後相應地路由用戶,起作用。我想要的是更健壯和優雅的方式(所以嘗試使用laravel域路由)。但是通過我在上面顯示的示例代碼和子域,我總是看到'Sub1 Site',而不考慮傳遞的子域。
你只需要通過它,如果你需要在回調中使用它,我會想。 – apokryfos
我試過沒有通過,在這種情況下,所有的URL只打印「sub1」 – gentrobot
你可以更新你的問題,什麼不工作,以及預期的行爲應該是什麼? – apokryfos