Laravel语言切换仅在一页上返回404

问题描述

因此,我已经为我的应用程序实现了语言切换,在大多数页面上都可以正常工作,但是有一个页面的切换语言返回了404。当我切换语言时,路由如下所示: password / lang / en,后跟404错误,但是如果我从url选项卡中删除了密码,则会重定向回原来的语言,并且会切换语言。

我的翻译被放置在resources / lang / language_name

切换语言的路线:

Route::get('lang/{locale}','Localization\LocalizationController@index');

切换时抛出404的路由(来自Laravel的auth层):

$this->get('password/reset','Auth\ForgotPasswordController@showLinkRequestForm');

控制器:

 public function index($locale)
    {
        App::setLocale($locale);
        //storing the locale in session to get it back in the middleware
        session()->put('locale',$locale);
        return redirect()->back();
    }

Middleware / Localization.php:

public function handle($request,Closure $next)
    {
        if (session()->has('locale')) {
            App::setLocale(session()->get('locale'));
        }
        return $next($request);
    }

我不知道在哪里看,也无法发现有人遇到了这个问题。

编辑 如果我在切换路由中添加了密码:

Route::get('password/lang/{locale}','Localization\LocalizationController@index');

然后它可以工作,但是显然其他路线不会,我的问题是我是否要像这样保留两条单独的路线:

Route::get('/lang/{locale}','Localization\LocalizationController@index');
Route::get('password/lang/{locale}','Localization\LocalizationController@index');

还是这里有更好的选择?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...