React Router PHP hostingda

Artıq bildiyiniz kimi, qurulmadan sonra React layihəsi adi statik fayllardan ibarətdir, hansı ki, istənilən hostingə yüklənə bilər və dərhal orada işləyəcək.

Lakin, React Router ilə bağlı bir problem var. Məsələ ondadır ki, Router işləyərkən brauzerdə səhifələrin URL-ni dəyişir. Eyni zamanda, səhifə həqiqətən yenidən yüklənmir, yalnız URL JavaScript vasitəsilə dəyişir.

Hostingə yüklənmiş saytda Router işləyəcək. Amma, əgər siz əsas səhifədən başqa hər hansı bir səhifədə olsanız və onu yenidən yükləsəniz, onda 404 xətası alınacaq.

Və bu məntiqlidir, çünki brauzer göstərilən URL üzrə faylı axtaracaq, necə ki, adətən statik saytlar işləyir. Bizim tətbiqimizdə isə belə bir səhifə olmayacaq, çünki biz onları yalnız təqlid edirik, əslində isə bütün tətbiqimiz index.html üzərində işləyir.

Problemi həll etmək üçün elə etmək lazımdır ki, real mövcud olan fayllara aparmayan bütün URL-lər index.html-ə yönləndirilsin. Bu, hostingdə işləyən web-serverin vasitələri ilə edilir.

Virtual hostinglər PHP-də işləyir. Adətən server kimi Apache istifadə olunur. Onda xüsusi .htaccess faylı əlçatandır, onun köməyi ilə yönləndirməni təyin etmək olar.

Bunun üçün siz saytınızın kökündə aşağıdakı məzmunu olan .htaccess faylını yerləşdirməlisiniz:

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

React Router olan bir layihə hazırlayın.

Задание 2

Onu hostingə yükləyin. Əmin olun ki, standart olaraq routing işləmir.

Задание 3

Problemi .htaccess faylı ilə həll edin.