【发布时间】:2014-01-06 19:27:16
【问题描述】:
我安装了一个 Laravel,希望在其上运行 3 个站点(插件域)。我正在使用 Laravel 的路由分组方法来抓取每个域。但是,我需要能够知道我在每个组中使用哪个域。做这个的最好方式是什么?我有以下代码:
Route::group(array('domain' => 'domainone.com'), function($domain = 'domainone')
{
Route::get('/', function($domain) {
//
});
});
^ 这不起作用。
notes 建议在 URL 中使用通配符,例如。
Route::group(array('domain' => '{domain}.com'), function()
{
Route::get('/', function($domain) {
//
});
});
但是,我更喜欢一种不同的方法,因为在本地服务器上的开发过程中我不能真正使用它。有什么方法更像我的第一种方法,我可以手动为每个域声明一个密钥?
编辑:然后我还需要将该域变量传递给控制器,我也在努力弄清楚该怎么做?
谢谢。
编辑 2
我的问题是我没有使用子域,我使用的是域;我有 3 个独立的域,用于 3 个在 Laravel 的同一安装上运行的姐妹站点。所以我有 3 个路由组,每个域一个。此外,我不想每次都使用{domain}.com request 域变量,我想在每种情况下告诉 Laravel 域,然后将该域作为变量到每个组内的适当控制器。这是我的示例代码:
$domain1 = 'domain1.com';
$domain2 = 'domain2.com';
$domain3 = 'domain3.com';
Route::group(array('domain' => $domain1), function(){
Route::get('/', 'PrimaryController@somefunction1'); // <-- I want to access $domain1 in my controller
});
Route::group(array('domain' => $domain2), function(){
Route::get('/', 'PrimaryController@somefunction2'); // <-- ...and $domain2
});
Route::group(array('domain' => $domain3), function(){
Route::get('/', 'PrimaryController@somefunction3'); // <-- ...and $domain3
});
【问题讨论】:
标签: php laravel laravel-4 laravel-routing