10 of 10 menu

React Router на PHP хостинг

Както вече знаете, след като сглобите проекта React, той представлява обикновени статични файлове, които могат да бъдат качени на всеки хостинг, и веднага ще работят там.

Обаче, има проблем с React Router. Работата е там, че Router по време на работа променя URL на страниците в браузъра. При това реално страницата не се презарежда, а само URL се променя чрез JavaScript.

В сайт, качен на хостинг, Router ще работи. Но, ако се намирате на някоя страница от сайта, различна от главната, и я презаредите, ще получите 404 грешка.

И това е логично, защото браузърът ще търси файл по зададения URL, както обикновено работят статичните сайтове. А в нашето приложение такава страница няма да има, тъй като ние само симулираме такива, а всъщност цялото ни приложение работи на index.html.

За решаване на проблема трябва да се направи така, че всички URL, които не сочат към реално съществуващи файлове, да се пренасочват към index.html. Това се прави чрез средствата на уеб сървъра, който работи на хостинга.

Виртуалните хостинги работят на PHP. Обикновено като сървър се използва Apache. В него е достъпен специален файл .htaccess, с чиято помощ може да се зададе пренасочване.

За това вие в корена на вашия сайт трябва да поставите файл .htaccess със следното съдържание:

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

Направете проект с React Router.

Качете го на хостинг. Уверете се, че по подразбиране рутингът не работи.

Коригирайте проблема с помощта на файла .htaccess.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне