.htaccess linuxpl.com react-router

0

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>
0

Już sobie poradziłem jak coś :)

0

Ok. Przeniosłem plik .htaccess do folderu gdzie są pliki strony w przypadku tego hostingu jest to foler public_html i zmieniłem jego treść na

  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]

Jak .htaccess był w folderze domyślnym dla tego hostingu to nie działało. A czemu nie działało to nie wiem, grunt że teraz działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1