根据有关路由的 Laravel 4 文档,我一直在尝试创建一个域路由来处理通配符子域并将其传递给 Controller 操作,但我在传递参数时遇到了问题。
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', function($subdomain)
{
die($subdomain);
});
});
如果我这样写路由,它会打印出子域,无论它是什么。问题是我不想在 routes.php 文件中编写处理这些情况的代码,而是使用 Controller 来处理这一切,而不是从 subdomain.myapp.com 重定向到 myapp.com/controller/action/子域。 所以,像这样:
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', 'MyController@myAction', $subdomain);
});
在这种情况下,如何将 {subdomain} 参数传递给 Controller ?
最佳答案
似乎早上比晚上聪明。我选择了调度解决方案,所以如果其他人有更优雅的解决方案,请随时发布,我会接受你的回答。
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', function($subdomain) {
$request = Request::create('/myRoute/' . $subdomain, 'GET', array());
return Route::dispatch($request)->getContent();
});
});
Route::get('myRoute/{subdomain}', 'MyController@myAction');
关于laravel-4 - 如何使用 Controller 处理 Laravel 4 子域路由,将子域作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073488/