React Router në PHP hosting
Siç e dini tashmë, pas ndërtimit projekti React përfaqëson statikë të zakonshme, të cilat mund të ngarkohen në çdo hosting, dhe atje do të funksionojnë menjëherë.
Megjithatë, ka një problem me React Router. Çështja është se Router gjatë punës ndryshon URL-në e faqeve në shfletues. Në të njëjtën kohë, faqja në realitet në ringarkohet, por vetëm URL-ja ndryshohet me mjetet JavaScript.
Në një sajt të ngarkuar në hosting,
Router do të funksionojë. Por, nëse ndodheni
në ndonjë faqe të sajtit, përveç kryesores,
dhe e ringarkoni atë, do të shfaqet një gabim 404.
Dhe kjo është logjike, sepse shfletuesi do të
kërkojë një skedar në URL-në e specifikuar,
siç funksionojnë normalisht sajtet statike.
Ndërsa në aplikacionin tonë një faqe e tillë
nuk do të ekzistojë, pasi ne vetëm po imitojmë
ato, kurse në realitet i gjithë
aplikacioni ynë funksionon në index.html.
Për të zgjidhur problemin, duhet të bëhet që
të gjitha URL-të, që nuk çojnë te skedarë
realisht ekzistues, të ridrejtohen
në index.html. Kjo bëhet
me mjetet e serverit web, i cili punon
në hosting.
Hostingjet virtuale punojnë në PHP.
Si rregull, si server përdoret Apache.
Në të disponohet një skedar i veçantë .htaccess,
me ndihmën e të cilit mund të caktohet
ridrejtimi.
Për këtë, ju në rrënjë të sajtit tuaj
duhet të vendosni skedarin .htaccess
me përmbajtjen e mëposhtme:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Krijoni një projekt me React Router.
Ngarkojeni atë në hosting. Sigurohuni që si parazgjedhje routing nuk funksionon.
Korrigjoni problemin me ndihmën
e skedarit .htaccess.