Префикс силы Laravel

В моем приложении я предоставил префикс, например. en мой сайт загружается как domain.xyz/en теперь это работает, но мне нужно добавить следующее:

force redirect when user visits websites without any prefix:

например пользователь пытается загрузить domain.xyz этот домен должен перенаправляться на domain.xyz/en (префикс по умолчанию) в первый раз, чтобы сайт загружался, но позже, если пользователь выберет другой язык, он может быть установлен на него. р.г. domain.xyz/es

Вопрос

Что я должен написать в своем промежуточном программном обеспечении, чтобы добиться этого перенаправления?

Я пытался использовать:

1-$request->route().parameters();
and
2-$request->route().getPrefix();

неудачно.

code

<?php

namespace App\Http\Middleware;

use Closure;

class PrefixMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $next($request);
    }
}

Обновлять

Вот как выглядит мой web.php:

$route_prefix = \Config::get('app.route_prefix');
Route::group(['middleware' => 'verified', 'prefix' =>  $route_prefix.'/'], function () use ($route_prefix){
  Route::get('/', 'HomeController@welcome')->name('homepage');
});

Обновление 2

Основываясь на предложении комментариев, теперь у меня есть что-то вроде:

public function handle($request, Closure $next)
    {
        $prefix = \Config::get('app.route_prefix');
        \App::setLocale($prefix);
        return $next($request.'/'.$prefix);
    }

и он возвращает:

Call to a member function setUserResolver() on string

@LimKeanPhang мой web.php файл Route::group(['middleware' => 'verified', 'prefix' => $route_prefix.'/'], function () use ($route_prefix){

mafortis 04.04.2019 08:24

Добавьте это в промежуточное ПО перед return \App::setLocale(\'en')); ? Добавить использование приложения; также

Lim Kean Phang 04.04.2019 08:37

@LimKeanPhang обновил мой вопрос

mafortis 04.04.2019 08:42

Это еще одна проблема, потому что я не вижу setUserResolver в предоставленном вами коде~ @@ Попробуйте еще раз проверить общий программный код.

Lim Kean Phang 04.04.2019 08:46

Я действительно не думаю, что вам нужен префикс, чтобы установить язык по умолчанию при первом посещении. Подойдет только промежуточное ПО.. Хм.

Lim Kean Phang 04.04.2019 08:54

Промежуточное ПО @LimKeanPhang изменит язык, но не все префиксы к URL-адресам, поэтому мне нужно указать префикс в моих группах, вот почему. (это плохо для сео)

mafortis 04.04.2019 08:57

Я предоставил только половину решения. Мой подход был настроен на сеанс, и промежуточное ПО всегда будет получать ключ сеанса, пока пользователь не изменит его. Посмотрим, поймешь ли ты, что я имею в виду :О

Lim Kean Phang 04.04.2019 09:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
8
256
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решено

Я использовал этот учебник, и это решило мою проблему.

Другие вопросы по теме