Я пытаюсь интегрировать ReactJS с OctoberCMS с приложением реагирования, находящимся в каталоге с именем реакции внутри установки OctoberCMS. Я не могу правильно настроить маршрутизацию. Прямое нажатие на URL, например http://example.com/react/blog
, приводит к 404 странице. Если после первого посещения домашней страницы я перехожу на тот же URL-адрес (используя панель навигации), я могу успешно открыть страницу. Пожалуйста, помогите мне правильно настроить маршруты.
Кроме того, как мне соединить два (реагировать и октябрь CMS). Я думаю, что мой подход держать сборку реакции в папке при установке OctoberCMS неверен. Какой должен быть правильный подход?
В package.json я поместил "homepage": "/react/"
, он работает нормально, но при открытии страницы в новой вкладке получается страница 404, отображаемая OctoberCMS
Я также пытался <BrowserRouter basename = {'react'}>
С этим я получаю URL, похожий на http://example.com/react/react/about-us/
Я попытался поместить содержимое сборки прямо в корневой каталог установки octoberCMS, что привело к увеличению страницы 404 при попадании на мой базовый URL.
<BrowserRouter>
<TopBar />
<Switch>
<Route path={ `${process.env.PUBLIC_URL}/`} exact component={ HomePage} />
<Route path={ `${process.env.PUBLIC_URL}/about-us`} exact component={ AboutUs} />
<Route path={ `${process.env.PUBLIC_URL}/enquiry`} exact component={ Enquiry} />
<Route path={ `${process.env.PUBLIC_URL}/contact`} exact component={ ContactUs} />
<Route path={ `${process.env.PUBLIC_URL}/blog`} exact component={ Blog} />
<Route path={ `${process.env.PUBLIC_URL}/terms`} exact component={ Terms} />
<Route path={ `${process.env.PUBLIC_URL}/privacy-policy`} exact component={ PrivacyPolicy} />
<Route path={ `${process.env.PUBLIC_URL}/request-purchase-offer`} exact component={ RequestPurchaseOffer} />
<Route path={ `${process.env.PUBLIC_URL}/sell-now/benefits`} exact component={ Benefits} />
<Route path={ `${process.env.PUBLIC_URL}/sell-now/how-dorrmat-works`} exact component={ HowDorrmatWorks} />
<Route path={ `${process.env.PUBLIC_URL}/sell-now/customer-reviews`} exact component={ CustomerReviews} />
<Route path={ `${process.env.PUBLIC_URL}/sell-now/offers`} exact component={ Offers} />
<Route path={ `${process.env.PUBLIC_URL}/sell-now/faqs`} exact component={ FAQS} />
<Route component={ NoMatchFound} />
</Switch>
<Footer />
<button onClick={ ()=> this.scrollToTop(500)} className = "scroll-top"></button>
</BrowserRouter>
Я ожидаю, что реагирующая маршрутизация обрабатывает мои маршруты вместо маршрутизации octoberCMS на страницу 404. Также, когда я пытаюсь открыть страницу в новой вкладке, она не должна перенаправлять на страницу 404.
Любые предложения о том, как мне соединить этих двоих, были бы полезны.