如何解决使用mcamara软件包进行laravel本地化,在根网址上出现404错误,但在其他网址上没有
我正在尝试使用mcamara软件包进行语言翻译,但是在根URL上却出现404错误。实际上,我正在尝试检测用户的IP地址,然后根据该国家/地区设置语言环境。我将语言环境和国家/地区名称存储在数据库中。下面是我的代码:
AppServiceProvider.php 在此文件中,我正在通过https://github.com/stevebauman/location该程序包获取用户ip地址,并从数据库中检查语言环境并根据该语言环境进行设置。
$ip = request()->getClientIp();
$position = Location::get($ip);
$locale = Locale::where('country_code',strtolower($position->countryCode))->first();
if($locale){
LaravelLocalization::setLocale($locale->country_code);
}
Web.php
Route::group([
'prefix' => LaravelLocalization::getCurrentLocale(),'middleware' => ['localizationRedirect','localeViewPath' ]],function(){
Route::get('/',function(){
dd('check');
});
}
我收到404错误。
解决方法
这个步骤对我有用
Route::group(['prefix' => LaravelLocalization::setLocale(),'middleware' => [ 'localeSessionRedirect','localizationRedirect','localeViewPath' ]],function (){
// routes here
});
然后
1 - 删除引导文件夹中的缓存文件
2- php artisan optimize
3- php artisan route:trans:cache
4- php artisan cache:clear
5- php artisan route:clear
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。