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.
Yorumlar Henüz yorum yapılmamış
Yeni Yorum