React Router kwenye Hosting ya PHP
Kama unavyojua tayari, baada ya kukusanya mradi wa React unawakilisha nyenzo tuli za kawaida, ambazo zinaweza kupakiwa kwenye hosting yoyote, na zitaanza kufanya kazi mara moja huko.
Hata hivyo, kuna tatizo na React Router. Jambo ni kwamba Router wakati wa kufanya kazi hubadilisha URL ya kurasa kwenye kivinjari. Wakati huo huo, ukweli halisi ukurasa haupakiwi upya, lakini tu URL hubadilika kwa njia za JavaScript.
Kwenye tovuti iliyowekwa kwenye hosting,
Router itafanya kazi. Lakini, ikiwa uko
kwenye ukurasa fulani wa tovuti, isipokuwa ukurasa wa kwanza,
na ukapakia upya, utapata hitilafu ya 404.
Na hii ni mantiki, kwani kivinjari
kitafta faili kwa URL iliyobainishwa,
kama kawaida tovuti tuli hufanya kazi.
Na katika programu yetu hakuna ukurasa kama huo,
kwani sisi tu tunafanana,
na kwa kweli programu yote yetu
inafanya kazi kwenye index.html.
Ili kutatua tatizo, inahitajika kufanya hivi,
ili URL zote, ambazo hazikuelekezi kwenye
faili zilizopo kweli, zielekezwe
kwenye index.html. Hii inafanywa
kwa njia za seva ya wavuti, inayofanya kazi
kwenye hosting.
Hosting za virtual hufanya kazi kwenye PHP.
Kwa kawaida Apache hutumika kama seva.
Ndani yake inapatikana faili maalum .htaccess,
ambayo kwa kutumia hiyo unaweza kubainisha
uelekezaji upya.
Ili kufanya hivyo, kwenye mzizi wa tovuti yako
unahitaji kuweka faili .htaccess
na yaliyomo yafuatayo:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Fanya mradi na React Router.
Pakta kwenye hosting. Hakikisha kwamba kwa chaguo-msingi routing haifanyi kazi.
Sahihisha tatizo kwa kutumia
faili .htaccess.