使用laravel的通配符子域

时间:2013-11-25 20:39:26

标签: php laravel laravel-4

我正在尝试将www.example.com/username更改为username.example.com。我已经设置了Apache,现在我已经陷入困境了。在我的userController中,我得到了这个,它适用于www.example.com/username

if($validator->passes() && Auth::attempt($userdata)) {
    return Redirect::to(Auth::user()->username)->with('flash_notice', 'You have logged in successfully');
}

现在我在routes.php中得到了这个,但什么也没做。谢谢你的时间。

Route::group(array('domain' => '{account}.example.com'), function()
{

Route::get('{account}', function($account, $id)
{
    $account = Input::get('username');
    $id = Input::get('id');
});

});

1 个答案:

答案 0 :(得分:4)

您现在想要路由到域的根目录,而不是'{account}'。只需使用/作为路线:

Route::group(array('domain' => '{account}.example.com'), function()
{
    Route::get('/', function()
    {
        $account = Input::get('username');
        $id = Input::get('id');
    });
});

此外,您的重定向需要重定向到子域:

return Redirect::to('https://' . Auth::user()->username . '.example.com')
           ->with('flash_notice', 'You have logged in successfully');