10 of 10 menu

React Router na hostingu PHP

Jak już wiesz, po zbudowaniu projekt React reprezentuje zwykłe zasoby statyczne, które można załadować na dowolny hosting, i od razu będą tam działać.

Istnieje jednak problem z React Router. Chodzi o to, że Router podczas pracy zmienia URL stron w przeglądarce. Przy tym strona nie przeładowuje się naprawdę, a tylko zmienia się URL za pomocą JavaScript.

W stronie udostępnionej na hostingu, Router będzie działał. Ale, jeśli będąc na jakiejś stronie witryny, oprócz głównej, przeładujesz ją, to pojawi się błąd 404.

I to jest logiczne, ponieważ przeglądarka będzie szukać pliku pod podanym URL, jak zwykle działają statyczne strony. A w naszej aplikacji takiej strony nie będzie, ponieważ tylko symulujemy je, a tak naprawdę cała nasza aplikacja działa na index.html.

Aby rozwiązać problem, trzeba sprawić, aby wszystkie URL, które nie prowadzą do rzeczywiście istniejących plików, były przekierowywane na index.html. Robi się to za pomocą serwera internetowego, działającego na hostingu.

Hostingi wirtualne działają na PHP. Zazwyczaj jako serwer używany jest Apache. Dostępny jest w nim specjalny plik .htaccess, za pomocą którego można ustawić przekierowanie.

Aby to zrobić, w katalogu głównym twojej strony trzeba umieścić plik .htaccess z następującą zawartością:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [QSA,L]

Zrób projekt z React Router.

Wgraj go na hosting. Upewnij się, że domyślnie routing nie działa.

Napraw problem za pomocą pliku .htaccess.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć