10 of 10 menu

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.

dedaruhiby