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.htm
ve 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.htm
bu 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 /dvd
dosyayı 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.php
ve 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/list
aynı 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/login
yö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=dvd
olmadan .action
index.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.htm
doğ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;)