#laravel #http-status-code-404 #language-switching
#laravel #http-status-code-404 #переключение языка
Вопрос:
Итак, я внедрил переключение языка для своего приложения, на большинстве страниц это работает хорошо, однако есть одна страница, где переключение языка возвращает 404. Когда я переключаю язык, маршрут выглядит следующим образом, например, password / lang / en, за которым следует ошибка 404, но если я удаляю пароль со вкладки url, я перенаправляюсь обратно с переключаемым языком.
Мои переводы размещены в resources / lang /language_name
Маршрут для переключения языка:
Route::get('lang/{locale}', 'LocalizationLocalizationController@index');
Маршрут, в котором при переключении выдается 404 (это из уровня аутентификации Laravel):
$this->get('password/reset', 'AuthForgotPasswordController@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}', 'LocalizationLocalizationController@index');
Тогда это работает, но, очевидно, что другие маршруты не будут, мой вопрос был бы в том, оставляю ли я это так, 2 отдельных маршрута:
Route::get('/lang/{locale}', 'LocalizationLocalizationController@index');
Route::get('password/lang/{locale}', 'LocalizationLocalizationController@index');
или здесь есть вариант получше?
Комментарии:
1. Опубликуйте некоторый код, по крайней мере, код маршрута, который принадлежит 404
2. Похоже, вы где-то вызвали неправильный маршрут, но мы не можем предоставить вам больше информации, пока вы не предоставите какой-либо код (маршруты, контроллеры …)
3. Да, извините за ошибку, отредактировал вопрос