为此使用路由器。
例如
Route::group(array('domain'=>'example.com'), function(){
//Define the routes for example.com
});
Route::group(array('domain'=>'cms.example.com'), function(){
//Define the routes for cms.example.com
});
为了更容易维护,您可以为控制器使用命名空间。
例如,您的控制器文件夹可能如下所示
App
|
|---Controllers
|-- site
|
|-----HomeController.php
|-- subdomain
|
|-----HomeController.php
现在,对于站点控制器,使用类似的命名空间,<?php namespace site;?>
对于子域控制器,使用类似的命名空间<?php namespace subdomain;?>
在路由文件中,将路由定义为,
Route::group(array('domain'=>'example.com'), function(){
Route::get('/', array(
'as' => 'index',
'uses' => '\site\HomeController@index'
))
});
对于子域,
Route::group(array('domain'=>'cms.example.com'), function(){
Route::get('/', array(
'as' => 'cms.index',
'uses' => '\subdomain\HomeController@index'
))
});
简单明了的方法。