React Router на PHP хостинг
Како што веќе знаете, по изградбата проектот React претставува обична статика, која може да се вчитува на кој било хостинг, и таму веднаш ќе работи.
Сепак, постои проблем со React Router. Работата е така што Router при работа ја менува URL-адресата на страниците во прелистувачот. При тоа реално страницата не се вчитува повторно, туку само се менува URL-адресата со помош на JavaScript.
На веб-страницата, поставена на хостинг,
Router ќе работи. Но, ако се наоѓате
на некоја страница на веб-страницата, освен главната,
и ја превчитате, ќе се појави 404
грешка.
И тоа е логично, бидејќи прелистувачот ќе
бара датотека по дадената URL-адреса,
како што обично работат статичните веб-страници.
А во нашата апликација таква страница
нема да постои, бидејќи ние само симулираме
нив, а всушност целата наша
апликација работи на index.html.
За решавање на проблемот потребно е да се направи така,
што сите URL-адреси кои не водат до реално
постоечки датотери, да бидат пренасочени
кон index.html. Ова се прави
со средствата на веб-серверот, кој работи
на хостингот.
Виртуелните хостинзи работат на PHP.
Како правило, како сервер се користи Apache.
Во него е достапна специјална датотека .htaccess,
со која може да се зададе
пренасочување.
За ова, во коренот на вашата веб-страница
треба да поставите датотека .htaccess
со следнава содржина:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Направете проект со React Router.
Поставете го на хостинг. Уверете се, дека стандардно рутирањето не работи.
Решете го проблемот со помош
на датотеката .htaccess.