Bu gerçekten bir estetik sorunu değil, aslında teknik bir fark. Dizin düşünce tamamen doğru ve hemen hemen her şeyi açıklıyor. Hadi halledelim:
Artık taş çağına geri döndünüz veya sadece statik sayfalar sunuyorsunuz
Web sunucunuzda sabit bir dizin yapınız vardır ve yalnızca resimler, html vb. Gibi statik dosyalar vardır - sunucu tarafı komut dosyaları veya herhangi bir şekilde.
Bir tarayıcı ister /index.htm, var ve istemciye teslim edilir. Daha sonra /dvd/dizinde her biri için DVD filmleri incelendi ve bir html sayfası var . Şimdi birisi talep ediyor /dvd/adams_apples.htmve orada olduğu için teslim ediliyor.
Bir gün, birisi sadece istekte bulunur /dvd/- bu bir dizin ve sunucu ne sunacağını anlamaya çalışıyor. Erişim kısıtlamaları yanında ve benzeri iki olasılık vardır: Kullanıcıya dizin içeriğini göster (Ben zaten bu bir yere gördük bahis) ya da varsayılan bir dosyayı göstermek (Apache öyle: DirectoryIndex: sets the file that Apache will serve if a directory is requested.)
Şimdiye kadar iyi, beklenen durum bu. Zaten kullanımdaki farkı gösteriyor, bu yüzden içine girelim:
Saat 5:34'te dosyalarınızı yüklerken bir hata mı yaptınız?
(Bu arada tamamen anlaşılabilir.) Yani, tamamen yanlış bir şey yaptınız ve yüklemek yerine /dvd/the_big_lebowski.htmbu dosyayı dvd(uzantısız) olarak yüklediniz /.
Birisi /dvd/dizin listenizi işaretledi (elbette bu şıklığı oluşturmak ve her zaman güncellemek istemediniz index.htm) ve web sitenizi ziyaret ediyor. Dizin içeriği dağıtılır - her şey yolunda.
Birisi listenizi duydu ve yazıyor /dvd. Ve şimdi vidalandı. DVD dizini listelemek yerine, sunucu bu ada sahip bir dosya bulur ve Big Lebowski dosyanızı teslim eder.
Böylece, bu dosyayı siler ve adama sayfayı yeniden yüklemesini söylersiniz. Sunucunuz /dvddosyayı arar , ancak gitti. Çoğu sunucu bu ada sahip bir dizin olduğunu fark eder ve istemciye aradığı şeyin gerçekten başka bir yerde olduğunu söyler. Yanıt büyük olasılıkla şöyle olacaktır:
Status Code:301 Moved Permanently ile Location: http://[...]/dvd/
Yani, tamamen yoksayıyorsunuz Eğer farklı söylendi sürece - - dizinleri veya dosyaları hakkında, sunucu ancak böyle şeyler işlemek ve düşünüyorum "eğik çizgi veya olmasın" anlamı hakkında size karar verir.
Sonunda bu yanıtı aldıktan sonra istemci yüklenir /dvd/ve her şey yolunda gider.
İyi mi? Hayır.
"Sadece iyi" senin için yeterince iyi değil
Her şeyin aktarıldığı /index.phpve işlendiği dinamik bir sayfanız var . Şimdiye kadar her şey çok iyi çalıştı, ama tüm bunlar daha yavaş hissetmeye başlar ve siz araştırırsınız.
Yakında, fark edeceksiniz /dvd/listaynı yapıyor: Yönlendirme için /dvd/list/hangi sonra dahili çevrilir index.php?controller=dvd&action=list. Bir ek istek - ama daha da kötüsü! customer/loginyönlendirmeleri için customer/login/bu da HTTPS URL'sini yönlendirir customer/login/. Kullanıcı deneyimini yavaşlatan tonlarca gereksiz HTTP yönlendirmesi (= ek istek) elde edersiniz .
Büyük olasılıkla burada da varsayılan bir dizin dizininiz var: sadece dahili yükler index.php?controller=dvdolmadan .actionindex.php?controller=dvd&action=list
Özet:
Eğer bitiyorsa asla bir dosya /olamaz . Sunucu tahmini yok.
Eğik çizgi veya eğik çizgi tamamen farklı anlamlardır. "Eğik çizgi veya eğik çizgi yok" arasında teknik / kaynak farkı var ve bunun farkında olmalı ve buna göre kullanmalısınız. Sunucunun büyük olasılıkla /dvd/index.htmdoğru komut dosyasını yüklemesi - veya yüklemesi - derken /dvd: Bunu yapar, ancak doğru isteği yaptığınız için değil. Hangi olurdu /dvd/.
Kesik çizgili sürümü gerçekten de kastetmişseniz , ek bir HTTP isteği cezası verir. Bu her zaman kötüdür (mobil gecikmeyi düşünün) ve bir "güzel URL" den daha fazla ağırlığa sahiptir - özellikle tarayıcılar SEO'ların inandığı veya inanmanızı istediği kadar aptal olmadığı için;)