PHP ဟိုစ်တင်ပေါ်တွင် React Router

သင်သိပြီးသားအတိုင်း၊ တည်ဆောက်ပြီးနောက် React ပရောဂျက်သည် သာမန် static ဖိုင်များသာဖြစ်ပြီး၊ မည်သည့်ဟိုစ်တင်ပေါ်မဆို တင်နိုင်ကာ အဲဒီမှာ ချက်ချင်းအလုပ်လုပ်ပါလိမ့်မည်။

သို့သော် React Router နှင့် ပတ်သက်သည့် ပြဿနာတစ်ခုရှိပါသည်။ အကြောင်းမှာ Router သည် အလုပ်လုပ်နေစဉ် ဘရောက်ဆာရှိ စာမျက်နှာ URL များကို ပြောင်းလဲပေးသည်။ ထိုအချိန်တွင် စာမျက်နှာအစစ်အမှန်သည် ပြန်လည်မဖွင့်ပါ၊ JavaScript နည်းလမ်းဖြင့် URL သာလျှင် ပြောင်းလဲသွားသည်။

ဟိုစ်တင်ပေါ်တင်ထားသည့် ဝဘ်ဆိုက်တွင် Router သည် အလုပ်လုပ်ပါလိမ့်မည်။ သို့သော် အကယ်၍ ပင်မစာမျက်နှာမှလွဲ၍ အခြားစာမျက်နှာတစ်ခုခုတွင် ရှိနေပါက၊ ၄င်းကို ပြန်လည်စတင်ပါက 404 အမှားပေါ်လာမည်ဖြစ်သည်။

၎င်းသည် ယုတ္တိရှိပါသည်၊ အဘယ်ကြောင့်ဆိုသော် ဘရောက်ဆာသည် သတ်မှတ်ထားသော URL အလိုက် ဖိုင်ကို ရှာမည်ဖြစ်ပြီး၊ ထိုသို့မှာ သာမန် static ဝဘ်ဆိုက်များ အလုပ်လုပ်ပုံဖြစ်သည်။ ကျွန်ုပ်တို့၏ အက်ပ်လီကေးရှင်းတွင် ထိုကဲ့သို့သောစာမျက်နှာ မရှိပါ၊ အဘယ်ကြောင့်ဆိုသော် ကျွန်ုပ်တို့သည် စာမျက်နှာများကို အတုယူပြသခြင်းသာလုပ်ပြီး၊ အမှန်တကယ်အားဖြင့် ကျွန်ုပ်တို့၏ အက်ပ်လီကေးရှင်းအားလုံးသည် index.html ပေါ်တွင်သာ အလုပ်လုပ်နေခြင်းဖြစ်သည်။

ဤပြဿနာကို ဖြေရှင်းရန် လုပ်ဆောင်ရမည်မှာ အမှန်တကယ်ရှိနေသော ဖိုင်များဆီ မညွှန်းသည့် URL အားလုံးကို index.html ဆီသို့ ပြန်ညွှန်းပေးရန် လိုအပ်သည်။ ၎င်းကို ဟိုစ်တင်ပေါ်တွင် အလုပ်လုပ်နေသော web server ၏ နည်းလမ်းများဖြင့် လုပ်ဆောင်နိုင်သည်။

ဗားကျူအယ် ဟိုစ်တင်များသည် PHP ပေါ်တွင် အလုပ်လုပ်သည်။ အများအားဖြင့် server အဖြစ် Apache ကို အသုံးပြုသည်။ ၎င်းတွင် အထူး ဖိုင် .htaccess ကို အသုံးပြုနိုင်ပြီး၊ ၎င်းကို အသုံးပြု၍ ပြန်ညွှန်းခြင်းကို သတ်မှတ်ပေးနိုင်သည်။

ဤအတွက် သင်၏ ဝဘ်ဆိုက် အမြစ်ဖိုလ်ဒါ အတွင်း .htaccess ဖိုင်ကို အောက်ပါအတိုင်း ထည့်သွင်းရန် လိုအပ်သည်။

.htaccessRewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Задание 1

React Router ပါသော ပရောဂျက်ကို လုပ်ဆောင်ပါ။

Задание 2

၎င်းကို ဟိုစ်တင်ပေါ်သို့ တင်ပါ။ မူလအားဖြင့် routing အလုပ်မလုပ်ကြောင်း သေချာပါစေ။

Задание 3

ဖိုင် .htaccess ကို အသုံးပြု၍ ပြဿနာကို ပြင်ဆင်ပါ။