10 of 10 menu

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

Као што већ знате, након изградње React пројекат представља обичну статику, коју можете отпремити на било који хостинг, и она ће тамо одмах радити.

Међутим, постоји проблем са React Router-ом. Ствар је у томе што Router током рада мења URL страница у претраживачу. При томе се страница стварно не поново учитава, већ се URL мења помоћу JavaScript-а.

На сајту, који је постављен на хостинг, Router ће радити. Али, ако се, налазећи се на некој страници сајта, осим главне, поново учита, појавиће се 404 грешка.

И то је логично, јер ће претраживач тражити фајл по задатом URL-у, као што то обично функционишу статични сајтови. А у нашој апликацији таква страница неће постојати, јер ми само симулирамо њихово постојање, а заправо цела наша апликација ради на index.html.

За решавање проблема потребно је да се осигура да сви URL-ови, који не воде на стварно постојеће фајлове, буду преусмерени на index.html. То се ради помоћу web-сервера, који ради на хостингу.

Виртуелни хостинзи раде на 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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј