Uygulama sunucunuz da statik dosyalarınızı barındıracaksınız ve tüm linkleri 404 veriyorsa veya ayrı bir alan belirleyip sadece oraya yönlendirme yapmak istiyorsanız doğru yere geldiniz.
Burada ama asıl anlatacağımız nginx de tanımlama yaparken kullanılan root
ve alias
parametrelerinin ne işe yaradığı ve nasıl kullanılması gerektiğinden bahsedeyim sizlere bu tanımlamalar yapılırken pek çok yanlışlık yapıldığı için genelde niye çalışmıyor diyip küfürü basarsınız ama yapmayın bunu.
Şimdi size ilk olarak root
tanımlamasını anlatayım. Tam yol olarak bahsetmemiz gerekiyor, konum kısmı da dahil olmak üzere ekleme yapılır.
Örnek bir çalışma yapalım /static
klasörümüzü tanımlayacak olalım ve aşağıdaki gibi yazalım.
location /static/ {
root /var/www/static/;
autoindex off;
}
Bunun alacağı nihai yol şu şekilde olacaktır. /var/www/static/static
haliyle böyle bir yol olmadığı içinde size çat diye 404 basacaktır. Bunun nedeni, konum bölümünün root
da belirtilen yola eklenmesidir. Doğrusu ise şu şekilde olmalıdır.
location /static/ {
root /var/www/;
autoindex off;
}
alias
da ise durum biraz daha farklıdır. Yalnızca konum yolunu içermeyen yolun bir parçası alias
a eklenir. Örnek verecek olursak şu şekilde kullanım yanlıştır.
Bu şekilde kullanıldığında çıktısı /var/www/
Şeklinde olacaktır.
location /static/ {
alias /var/www/;
autoindex off;
}
Bu durumun başlıca nedeni takma ad verecek olduğunuz alanda gerçekten bir /static
yolunun konum ile eşleşmesinden geçmektedir. İstediğiniz her hangi bir yolu verebilirsiniz. Doğrusu ise şu şekilde olmalıdır.
location /static/ {
alias /var/www/static/;
autoindex off;
}
Bunun ise bize vereceği çıktı /var/www/static/
olarak gözükecektir. Eğer dosyalarınız varsa kolaylıkla erişebileceksiniz.