10 of 10 menu

PHP Hosting'de React Router

Bildiğiniz gibi, derlemeden sonra React projesi, herhangi bir hosting'e yüklenebilen ve hemen çalışan sıradan bir statik dosya grubudur.

Ancak, React Router ile ilgili bir sorun var. Router çalışırken, tarayıcıdaki sayfa URL'ini değiştirir. Bu sırada sayfa gerçekten yeniden yüklenmez, sadece URL JavaScript ile değiştirilir.

Hosting'e yüklenen sitede, Router çalışacaktır. Ancak, ana sayfa haricindeki herhangi bir sayfadayken sayfa yeniden yüklendiğinde, 404 hatası alınır.

Bu mantıklıdır, çünkü tarayıcı belirtilen URL'de bir dosya arayacaktır, tıpkı statik sitelerde olduğu gibi. Oysa uygulamamızda böyle bir sayfa olmayacak, çünkü biz sadece onları taklit ediyoruz ve aslında tüm uygulamamız index.html üzerinde çalışıyor.

Sorunu çözmek için, gerçekten var olan dosyalara işaret etmeyen tüm URL'lerin index.html'e yönlendirilmesi gerekir. Bu, hosting'de çalışan web sunucusu aracılığıyla yapılır.

Sanal hosting'ler PHP üzerinde çalışır. Genellikle sunucu olarak Apache kullanılır. Apache'de, yönlendirmeyi ayarlamak için kullanılabilen özel bir .htaccess dosyası mevcuttur.

Bunun için, web sitenizin kök dizinine aşağıdaki içeriğe sahip bir .htaccess dosyası yerleştirmeniz gerekir:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [QSA,L]

React Router ile bir proje yapın.

Projeyi hosting'e yükleyin. Varsayılan olarak yönlendirmenin çalışmadığından emin olun.

Sorunu .htaccess dosyası kullanarak düzeltin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet