10 of 10 menu

React Router på PHP-värd

Som du redan vet, efter bygge är ett React-projekt bara vanlig statik som kan laddas upp till vilken webbvärd som helst, och det kommer att fungera direkt där.

Det finns dock ett problem med React Router. Saken är den att Router under drift ändrar sidornas URL i webbläsaren. Samtidigt laddas sidan inte om på riktigt, utan bara URL:en ändras med hjälp av JavaScript.

På en webbplats som lagts ut på en webbvärd kommer Router att fungera. Men om du, medan du befinner dig på en sida på webbplatsen, förutom startsidan, laddar om den, kommer ett 404-fel att visas.

Och det är logiskt, för webbläsaren kommer att leta efter en fil vid den angivna URL:en, som vanliga statiska webbplatser fungerar. Och i vår applikation kommer en sådan sida inte att finnas, eftersom vi bara simulerar dem, och i själva verket hela vår applikation körs på index.html.

För att lösa problemet måste du se till att alla URL:er som inte leder till verkligt existerande filer omdirigeras till index.html. Detta görs med hjälp av webbservern som körs på webbvärden.

Virtuella webbvärdar körs på PHP. Som regel används Apache som server. Där finns en speciell fil .htaccess tillgänglig, som kan användas för att ställa in omdirigering.

För att göra detta behöver du i roten av din webbplats placera en fil .htaccess med följande innehåll:

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

Skapa ett projekt med React Router.

Ladda upp det till webbvärden. Verifiera att routingen inte fungerar som standard.

Åtgärda problemet med hjälp av filen .htaccess.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa