Angular projesi sunucudayken linke direkt erişimde "404 Not Found" sorunu

Merhaba.


Angular'da localhost üzerinde çalışırken routing'de tanımladığımız yollara direkt erişebiliyoruz ancak build edip sunucuya attıktan sonra anasayfa dışında bir sayfaya direkt giremiyoruz ve "404 Not Found The requested document was not found on this server." ekranı geliyor.


Bu sorunun çözümü: Sunucuda angular projesinin olduğu dizinde .htaccess dosyası oluşturmak ve aşağıdaki satırları bu dosyaya eklemektir.


Apache;

.htaccess

RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    # If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html


Nginx;

try_files $uri $uri/ /index.html;


IIS;

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/index.html" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>


Daha detaylı incelemek için Angular dökümantasyonundaki Server Configuration sayfasını inceleyebilirsiniz.


Teşekkürler.

Mehmet Sert

HTML, CSS, Javascript ve Angular konularında tecrübe edinmiş ve Bursa'da Frontend Developer olarak bir firmada görev almaktayım. Yeni teknolojilere meraklıyım, öğrendiklerimi uygulayarak ve anlatarak pekiştirmeyi seviyorum....

"Angular projesi sunucudayken linke direkt erişimde "404 Not Found" sorunu" için hiç yorum yapılmadı.

Henüz yorum yapılmamış.

Yorum yap * E-posta adresiniz yayınlanmayacak.