多次重定向问题

时间:2019-11-07 14:02:42

标签: php laravel

我正在尝试为URL重定向创建域路由。

 Route::get('/', function () {
        $url = parse_url(Request::fullUrl());
        $domain = explode('.', $url['host']);
        $subdomain = $domain[0];
        $name = DB::table('users')->where('name', $subdomain)->first();
        // return (url('/') . '/?ref=' .$name->id);
         return Redirect::to(url('/') . '/?ref=' .$name->id);
        //dd($name); 
        // write the rest of your code.
    });

此脚本显示了多个时间重定向

1 个答案:

答案 0 :(得分:0)

您在代码中所做的事情称为无限递归。

return Redirect::to(url('/') . '/?ref=' .$name->id);

此行引起了重定向。

这就是正在发生的事情-

当某人访问您的网站主页时,将调用/ route,但是在route函数中,您正在指示laravel再次重定向到/,这样您将陷入无限循环,直到关闭选项卡。

如果我正确理解了您的问题,(您在解释方面做得不好)

您应该做什么-

Route::get('/', function () {
        $url = parse_url(Request::fullUrl());
        $domain = explode('.', $url['host']);
        $subdomain = $domain[0];
        $name = DB::table('users')->where('name', '=', $subdomain)->first();

        return redirect('http://www.yourmaindomain.com?ref='.$name->id);
    });