PHP hostingde React Router
Bilşiňiz ýaly, ýygnanandan soň React taslamasy adaty statika bolup, ony haýsy-da bolsa bir hostinge ýüklemek mümkin, we ol ýerde derrew işleýär.
Emma, React Router bilen bir masalah bar. Mesele şonda, Router işleýän wagtynda brauzerdaky sahypalaryň URL-ni üýtgedýär. Bu ýagdaýda sahypa hakykyýetde gaýtadan ýüklenmeýär, diňe JavaScript gurallary bilen URL üýtgeýär.
Hostinge goýlan saýtda,
Router işleýär. Ýöne, baş sahypadan başga
haýsy-da bolsa bir sahypada durup,
ony gaýtadan ýükläniňizde, 404
ýalňyşlygy görkeziler.
Bu mantiqly, sebäbi brauzer
görkezilen URL boýunça faýly gözler,
statiki saýtlar nädip işleýän bolsa şonuň ýaly.
Işimizde bolsa, şeýle sahypa bolmaz,
sebäbi biz diňe olary taklid edýäris,
hakykatda bolsa tutuş taslamamyz
index.html faýlynda işleýär.
Bu meseläni çözmek üçin şunuň ýaly etmeli,
hakyky ýerleşýän faýllara getirmän,
ähli URL-ler index.html faýlyna
ýöneltilmeli. Bu hostingde işleýän
web-serwer gurallary bilen amala aşyrylýar.
Wirtual hostingler PHP-de işleýär.
Adatça, serwer hökmünde Apache ulanylýar.
Onda ýörite .htaccess faýly elýeterli,
onyň kömegi bilen ýöneltme belgip bolýar.
Bunuň üçin saýtyňyzyň kökündäki
.htaccess faýlyny aşakdaky mazmunda
ýerleşdirmeli:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
React Router bilen taslama düzüň.
Ony hostinge ýükläň. Router-iň bellenen ýagdaýda işlemeýändigine göz ýetiriň.
.htaccess faýlynyň kömegi bilen
meseläni çözüň.