10 of 10 menu

React Router på PHP-hosting

Som du allerede vet, etter bygging er et React-prosjekt vanlig statisk innhold, som kan lastes opp til enhver hosting, og det vil umiddelbart fungere der.

Det er imidlertid et problem med React Router. Saken er at Router under arbeid endrer URL-en til sider i nettleseren. Samtidig lastes siden ikke virkelig på nytt, det er bare URL-en som endres ved hjelp av JavaScript.

På et nettsted lastet opp til hosting, vil Router fungere. Men hvis du, mens du er på en side på nettstedet, bortsett fra hovedsiden, laster den på nytt, vil du få en 404 -feil.

Og dette er logisk, fordi nettleseren vil lete etter en fil på den angitte URL-en, slik statiske nettsteder vanligvis fungerer. Og i applikasjonen vår vil ikke en slik side finnes, fordi vi bare simulerer dem, og faktisk kjører hele applikasjonen vår på index.html.

For å løse problemet må du gjøre slik at alle URL-er som ikke peker til virkelig eksisterende filer, omdirigeres til index.html. Dette gjøres ved hjelp av web-serveren som kjører på hostingen.

Virtuelle hostingtjenester kjører på PHP. Som regel brukes Apache som server. Den har en spesiell fil .htaccess tilgjengelig, som kan brukes til å sette opp omdirigering.

For å gjøre dette må du i roten av nettstedet ditt plassere en fil .htaccess med følgende innhold:

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

Lag et prosjekt med React Router.

Last det opp til hosting. Forsikre deg om at routing ikke fungerer som standard.

Løs problemet ved hjelp av filen .htaccess.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis