Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException

时间:2018-12-29 19:59:15

标签: laravel symfony laravel-5

我正在使用laravel 5..7,并且在多语言网站上遇到了一些麻烦...我出于seo目的使用了全局路由前缀。 (将lang参数,例如en,tr添加到url)

 Route::group([
            'middleware' => 'web',
            'namespace' => $this->namespace,
            'prefix' => in_array(Request::segment(1), $this->noLangPrefix) ? "" : Request::segment(1)
        ]...
i

t在下面的语言中间件上确实可以很好地工作。.

public function handle($request, Closure $next)
    {
        $langSegment = $request->segment(1);

        // go ahead if is admin panel or sitemap
        if ($langSegment == "admin")
            return $next($request);

        if ($langSegment == "sitemap.xml")
            return $next($request);

        // if is homepage 
        if (is_null($langSegment)) {
            app()->setLocale($request->getPreferredLanguage((config("app.locales"))));
            return $next($request);
        }

        if (strlen($langSegment) == 2)
            return $next($request);

        return redirect(url(config("app.locale") . "/" . implode($request->segments())));
    }

当我说“ app.test / blog”时,它会将我重定向到“ app.test / tr / blog”

但是,如果我说“ app.test / blog / sample-blog-spot”,它将给我Symfony\Component\HttpKernel\Exception\NotFoundHttpException

为什么我会收到此错误?因为它无法通过路线或其他路线,该如何解决?

0 个答案:

没有答案