我将laravel 5.8的URL结构从var max0 = GetMaxLengthOfColumnInSlownik(0, slownik);
var max1 = GetMaxLengthOfColumnInSlownik(1, slownik);
var max2 = GetMaxLengthOfColumnInSlownik(2, slownik);
for (int i=0; i<10; i++)
{
var column1String = slownik[i, 0].Length< max0? AppendSpaces(slownik[i, 0], max0);
var column2String = slownik[i, 1].Length< max1? AppendSpaces(slownik[i, 1], max1);
var column2String = slownik[i, 2].Length< max2? AppendSpaces(slownik[i, 2], max1);
Console.WriteLine(column1String + " \t " + column2String + " \t " + column3String);
}
更改为domain.com/about
。
我想使用他们的语言代码将所有访问者从旧网址domain.com/[locale]/about
重定向到新网址domain.com/about
。我的LanguageMiddleware可检测并设置语言环境,但不会重定向到新的网址,而是会进入404页。
当我看到404错误页面时,我的LanguageMiddleware不显示返回domain.com/[locale]/about
或request()->segment(1)
如何最准确地将旧网址重定向到新结构?
routes / web.php-用于为所有网址设置区域设置前缀。
request()->path()
LanguageMiddleware.php-使用语言环境重定向新网址后,检测并设置语言
Route::group(['prefix' => app()->getLocale()], function () {
...
});
答案 0 :(得分:1)
您好,请将此中间件添加到app/Http/Kernel.php
中。
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'language' => \App\Http\Middleware\LanguageMiddleware::class,
];
还将中间件添加到您的路由组中,为此显示以下示例:
Route::post('login', 'Api\Auth\ApiLoginController@login')->middleware('language');
有关更多详细信息:How to add locale into url