React Router PHP хостингте

Өздеріңіз білетіндей, жинақтан кейін React жобасы қарапайым статиканы ұсынады, оны кез келген хостингке жүктеп салуға болады, және ол сонда бірден жұмыс істейді.

Алайда, React Router мәселесі бар. Мәселе мынада, Router жұмыс істеп тұрғанда браузердегі беттердің URL мекенжайын өзгертеді. Бұл ретте бет шынында да қайта жүктелмейді, тек JavaScript көмегімен URL өзгереді.

Хостингке шығарылған сайтта Router жұмыс істейді. Бірақ, егер басты беттен басқа кез келген бетте болып, оны қайта жүктесек, 404 қатесі шығады.

Бұл мантиқты, өйткені браузер берілген URL бойынша файлды іздейді, статикалық сайттар әдеттегідей жұмыс істегенде. Ал біздің қолдабамызда мұндай бет болмайды, себебі біз оны тек еліктейміз, ал шын мәнінде біздің барлық қолдабамыз index.html файлында жұмыс істейді.

Мәселені шешу үшін, нақты бар файлдарға жетпейтін барлық URL мекенжайлары index.html файлына бағытталуы керек. Бұл хостингте жұмыс істейтін веб-сервер құралдарымен орындалады.

Виртуалды хостингтер PHP негізінде жұмыс істейді. Әдетте сервер ретінде Apache қолданылады. Онда арнайы .htaccess файлы бар, оның көмегімен бағыттауды орнатуға болады.

Бұл үшін сіз өз сайтыңыздың түбірінде төмендегі мазмұны бар .htaccess файлын орналастыруыңыз керек:

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

React Router қолданатын жоба жасаңыз.

Задание 2

Оны хостингке жүктеңіз. Роутингтің әдепки бойынша жұмыс істемейтініне көз жеткізіңіз.

Задание 3

.htaccess файлын қолданып мәселені шешіңіз.