PHP хостингинде React Router
Билгендей, React долбоорун куралгандан кийин, анын статикалык файлдары болуп калат, аны каалаган хостингке жүктөп, ошол жерде дароо иштете аласыз.
Бирок, React Router менен бир маселе бар. Иш жүзүндө, Router иштегенде браузердеги барактардын URL дарегин өзгөртөт. Бул учурда барак чындыгында кайра жүктөлбөйт, ал эми URL тек JavaScript менен өзгөрүлөт.
Хостингке жайгаштырылган сайтта,
Router иштей берет. Бирок, башкы барактан башка
бир баракта болуп, аны кайра жүктөсөңүз,
анда 404 катасы көрсөтүлөт.
Бул түшүнүктүү, анткени браузер берилген
URL боюнча файлды издеп, статикалык сайттар
кантип иштегендигине ылайык кылат.
Бирок биздин колдонмодо мындай барак болбойт,
анткени биз бардыгын симуляциялап жатабыз,
чындыгында биздин колдонмонун бардыгы
index.html баракчасында иштейт.
Бул маселени чечүү үчүн, чын эле бар болгон
файлдарга алып барбаган бардык URL даректер
index.html баракчасына кайтарылышы керек.
Бул хостингте иштеген web-серверинин каражаты менен ишке ашат.
Виртуалдык хостингтер PHP негизинде иштейт.
Көбүнчө Apache сервери колдонулат.
Анда атайын .htaccess файлы бар,
анын жардамы менен кайтарылууну орното аласыз.
Бул үчүн сиздин сайтыңыздын негизги директориясына
.htaccess файлын төмөнкү мазмун менен жайгаштырууңуз керек:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
React Router менен долбоор жаратыңыз.
Аны хостингке жүктөңүз. Роутинг демейкиде ишпей турганына көзүңүз менен ишенип көрүңүз.
.htaccess файлынын жардамы менен маселени чечиңиз.