Приложение хозяина реакции и серверная часть laravel (панель администратора) в одном проекте - PullRequest
1 голос
/ 05 октября 2019

Я хочу разместить приложение реагировать и приложение laravel в одном проекте приложения laravel. Приложение переднего плана - реагирует, а бэкэнд (административная панель) - laravel.

Я хочу перенаправить все запросы к определенному представлению внешнего интерфейса, кроме первого сегмента URL == backend /: любой

Например.

http://host.com/backend/(any) Продолжить с маршрутизатором laravel

http://host.com/(any), кроме бэкэнда / Продолжить с реагирующим маршрутизатором

Есть идеи по этому поводу?

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

У вас есть два варианта: либо передать регулярное выражение в маршрут any, чтобы игнорировать маршруты с префиксом API

Route::get('/{any}', function () {
   return view('index.blade.php');
})->where('any', '^(?!backend).*$');
Route::fallback(function () {
    return view('index.blade.php');
});

Из документы

Резервные маршруты

Используя метод Route::fallback, вы можете определить маршрут, который будет выполняться, когда никакой другой маршрут не соответствует входящему запросу. Как правило, необработанные запросы автоматически отображают страницу «404» через обработчик исключений вашего приложения. Однако, поскольку вы можете определить маршрут fallback в вашем файле routes/web.php, все промежуточное ПО в группе web промежуточного ПО будет применяться к маршруту. При необходимости вы можете добавить дополнительное промежуточное программное обеспечение для этого маршрута:

Route::fallback(function () {
    //
});

Резервный маршрут всегда должен быть последним, зарегистрированным вашим приложением.

0 голосов
/ 05 октября 2019

Попробуйте что-то вроде этого в "route / web.php":

// WRITE BACK-END ROUTES AT FIRST
Route::group([
    'prefix' => 'backend',
], function () {

    Route::get('/', 'AdminController@dashboard')->name('dashboard');
    Route::get('admin-page-1', 'AdminController@page1')->name('page1');
    Route::get('admin-page-2', 'AdminController@page2')->name('page2');
    // some other admin routes if you need
});
// FRONT ROUTE(S)
Route::get('/{text}', 'FrontController@front')->name('front');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...