Cześć mam prośbę o pomoc. Stworzyłem sobie stronę-portfolio w reactcie i używam tam react-routera. Problem w tym, że na localhoście wszystko ładnie działa, lecz jak wrzuciłem sobie tą stronę na hosting to gdy odświeżę przeglądarkę będąc na podstronie to mam error :
Not Found
The requested URL was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Doszedłem do tego, że odświeżając stronę szuka mi adresu np "example.com/portfolio", który na tą chwilę nie istnieje bo jest generowany w index html po stronie serwera. Użycie <HashRouter>
odpada, bo potrzebuje w mojej apce dostęp do location.pathname
itp czego nie oferuje <HashRouter>
. Grzebiąc w sieci widze że ludzie rozwiązali taki problem poprzez konfigurację pliku .htaccess
w taki sposób aby zamiast wyświetlać plik html z błędem 404 kierował na index.html czyli do strony głównej. Próbowałem wiele ich konfiguracji, ale żadna nie działa dla mnie. Zderzył ktoś się z tym lub wie ktoś jak skonfigurować ten plik .htaccess
. Poniżej zamieszczam kod :
Plik .htaccess :
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ ../public_html/index.html [QSA,L]
Routing :
<MainLayout>
<Switch>
<Route path="/" exact component={Home} />
<Route path="/skills" exact component={Skills}/>
<Route path="/portfolio" exact component={Portfolio}/>
<Route path="/contact" exact component={Contact}/>
<Route component={NotFound} />
</Switch>
</MainLayout>