Как сделать исключение для моего Route in laravel, для моего спа-приложения? - PullRequest
1 голос
/ 21 апреля 2019

Я разработал приложение для домашней работы, и оно основано на Vue.js, Laravel, основано на учебниках, моя проблема - на учебнике, которое я выучил, я написал это приложение и теперь у меня нет доступа к какому-либо маршруту кроме моего приложения.

Я хочу создать страницу о программе, и когда я добавляю маршрут к маршруту, она идет на мою страницу спа-приложения по умолчанию, которая основана на обучающих материалах, чтобы люди не могли вводить глупости в URL, например url.com/asdasdqwe Так как же добавить исключение в строку, которая мешает мне получить доступ к другим маршрутам?

Вот код:

Route::get('/', function () {
   return view('welcome');
});

Auth::routes();

Route::get('/dashboard', 'HomeController@index')->name('dashboard');

// I know this line make my app to force it to don't access other routes like bottom('/about')
// Route::get('{path}',"HomeController@index")->where( 'path', '([A-z\d-\/_.]+)?' );


// Because of top code i can't access other views that's using ('/etcroute')
Route::get('/about', function () {
    return view('welcome');
});

Поэтому, когда я уберу строку {path}, у меня возникнет проблема в приложении SPA. поэтому я ищу способ добавить исключение или принудительно заставить его работать с {Path} строкой.

1 Ответ

1 голос
/ 21 апреля 2019

Добро пожаловать в StackOverflow:)

Чтобы решить эту проблему, просто поместите ваш маршрут '/ about' выше тот, который соответствует регулярному выражению.

Laravel обрабатывает маршруты вПорядок, в котором они перечислены, чтобы ваш маршрут / about не был виден, потому что другой сначала соответствует ему.

Например:

Auth::routes();

Route::get('/', function () {
   return view('welcome');
});

Route::get('/about', function () {
    return view('welcome');
});

Route::get('/dashboard', 'HomeController@index')->name('dashboard');

Route::get('{path}', 'HomeController@index')->where('path', '([A-z\d-\/_.]+)?');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...