Benim uygulamada "/" konumu bir statik index.html dosyası döndürmek istiyorum, "/ statik" bir klasörden statik dosyaları sunmak istiyorum ve diğer tüm istekleri 404 BULUNAMADI dönmek istiyorum. Daha sonraki bir noktada, tüm diğer istekleri bir WSGI sunucusuna yönlendireceğim.
Bu şu anda benim yapılandırmam:
# Dev server.
server {
listen 1337;
charset UTF-8;
location / {
rewrite ^ static/index_debug.html break;
}
location /static {
alias /home/tomas/projects/streamcore/static;
}
}
Statik klasör mükemmel çalışıyor, ancak "/" 404 BULUNAMADI döndürüyor. Ayrıca denedim:
alias /home/tomas/projects/streamcore/static/index_debug.html;
Konum bloğunda, ancak bu 500 DAHİLİ SUNUCU HATASI döndürür. alias
Tek dosyaları sevmiyor gibi görünüyor . Ayrıca denedim:
try_files static/index_debug.html;
Ancak bu, sunucunun "try_files yönergesinde geçersiz sayıda bağımsız değişken" hatasıyla başlamasını durdurur. Görünüşe göre try_files
aslında birden fazla dosyayı denemenizi gerektiriyor, bu da aradığım davranış değil.
Benim sorum şu: Nasıl bir statik blok her zaman statik bir dosya döndürecek şekilde yapılandırmak?
DÜZENLEME:alias
Gerçekten tek bir dosyayı argüman olarak kabul etmesi gereken diğer cevaplardan gördüm , bu yüzden denedim:
location = / {
alias /home/tomas/projects/streamcore/static/index_debug.html;
}
Ama yine de sadece 500 DAHİLİ SUNUCU HATASI alıyorum. "/" İsteği için hata günlüğü şunları söylüyor:
[alert] 28112 # 0: * 7 "/home/tomas/projects/streamcore/static/index_debug.htmlindex.html" bir dizin değil
Neden "index_debug.htmlindex.html" dosyasını açmaya çalışıyor? index
Direktifi hiçbir yerde kullanmıyorum .
location =/
404 BULUNAMADI, location /
500 DAHİLİ SUNUCU HATASI alıyorum.
location / { return 404; }
location = / {Index /home/tomas/projects/streamcore/static/index_debug.html;}
try_files static/index_debug.html static/index_debug.html;