我有以语言环境为前缀的 url,我想保存本地并修改请求而不重定向它,如何在传递请求之前修改请求?
所以对于像 site.com/en/someurl 这样的网址
class GetLocale implements Middleware {
public function handle($request, Closure $next)
{
$segment = Request::segment(1); // 'en'
if( is_valid_language($segment) ){
// remove local from the request url
// do something to remove the local and continue
// as if the url was site.com/someurl
return $next($request);
}
return $next($request);
}
}
GetLocale 运行后,站点的其余部分应该完全忽略区域设置,只看到 site.com/someurl。
(这样我们就可以同时使用语言环境和路由注释,并且仍然保留原始标题、发布数据等)**