segments(); if (strlen($segments[0]) == 2 && preg_match('/[A-Za-z]/', $segments[0])) { app()->setLocale($segments[0]); } else { app()->setLocale(config('app.locale')); } array_shift($segments); $url = \request()->path(); $url = str_replace(app()->getLocale(), '', $url); // Modify the request $newPath = '/' . implode('/', $segments); $newUrl = $request->root() . $newPath . ($request->getQueryString() ? '?'.$request->getQueryString() : ''); $request->server->set('REQUEST_URI', $newPath); $request->initialize( $request->query->all(), $request->request->all(), $request->attributes->all(), $request->cookies->all(), $request->files->all(), $request->server->all() ); return $next($request); } }