React Router PHP xostingida
Bilganingizdek, loyihani yig‘ib olgandan so‘ng React loyihasi oddiy statik fayllarga aylanadi, uni istalgan xostingga yuklash mumkin va u darhol ishlaydi.
Biroq, React Router bilan muammo mavjud. Masala shundaki, Router ishlayotganda brauzerdagi sahifa URL manzilini o‘zgartiradi. Bunda sahifa haqiqatan qayta yuklanmaydi, faqat JavaScript vositasida URL o‘zgaradi.
Xostingga joylashtirilgan saytda
Router ishlaydi. Lekin, agar saytning
asosiy sahifasidan boshqa biron sahifada
bo‘lsangiz va uni qayta yuklasangiz,
404 xatosi paydo bo‘ladi.
Bu mantiqiy, chunki brauzer
belgilangan URL bo‘yicha faylni qidiradi,
odatda statik saytlar qanday ishlaydi.
Bizning ilovamizda esa bunday sahifa
bo‘lmaydi, chunki biz faqat ularni
taklit qilamiz, aslida bizning butun
ilovamiz index.html da ishlaydi.
Muammoni hal qilish uchun barcha URL manzillar,
haqiqiy mavjud fayllarga olib bormaydigan,
index.html ga yo‘naltirilishi kerak.
Buni xostingda ishlaydigan
veb-server vositalari orqali amalga oshirish mumkin.
Virtual xostinglar PHP da ishlaydi.
Odatda server sifatida Apache ishlatiladi.
Unda maxsus .htaccess fayli mavjud,
uning yordamida yo‘naltirishni sozlash mumkin.
Buning uchun siz saytingizning ildiz papkasiga
quyidagi tarkibga ega .htaccess
faylini joylashtirishingiz kerak:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
React Router bilan loyiha yarating.
Uni xostingga yuklang. Routing standart tarzda ishlamasligiga ishonch hosil qiling.
.htaccess fayli yordamida
muammoni tuzating.