Моя проблема: если я открою http://example.test/profile/create
, компонент «Новый профиль» не загрузится. То же самое с просмотром и редактированием маршрутов.
Фактически, если я нажимаю на Link
на profile/create
, под компонентом заголовка отображается пустое пространство. Если я попытаюсь перейти на go по указанному выше адресу напрямую через URL-адрес или обновив страницу, появится сообщение об ошибке 404 page not found.
Компоненты входа и регистрации работают абсолютно нормально, как и ProfileList (при нажатии Ссылка или прямая навигация работают нормально).
<BrowserRouter>
<div>
<Header />
<Switch>
<Route exact path='/' component={ProfilesList} />
<Route exact path='/login' component={LoginComponent} />
<Route exact path='/register' component={RegisterComponent} />
<Route exact path='/profile'>
<Route exact path='/create' component={NewProfile} />
<Route exact path='/view'>
<Route path='/:id' component={ProfileDetail} />
</Route>
<Route exact path='/edit'>
<Route path='/:id' component={EditProfile} />
</Route>
</Route>
</Switch>
</div>
</BrowserRouter>
PS - Приведенный ниже код работал для http://example.test/create
И для http://example.test/1
:
<BrowserRouter>
<div>
<Header />
<Switch>
<Route exact path='/' component={ProfilesList} />
<Route path='/login' component={LoginComponent} />
<Route path='/register' component={RegisterComponent} />
<Route path='/create' component={NewProfile} />
<Route path='/:id' component={ProfileDetail} />
</Switch>
</div>
</BrowserRouter>
Я использую Laravel 7 для запуска моего сервера. Файл routes / web. php выглядит так -
<?php
Route::view('/{path?}', 'app');