Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

Göreli ve mutlak yol arasındaki temel fark​


HTML bağlantısında göreli yol, belgenin temel URL’sine göre çözülür; mutlak yol ise https gibi şemasıyla tam adresi belirtir. Bu nedenle göreli yol, aynı site içindeki dosyalar ve sayfalar için daha taşınabilir olabilirken mutlak yol, özellikle başka bir alan adına veya kesin bir adrese bağlantı verirken kullanılır.

Örneğin aşağıdaki bağlantı mutlak yoldur:

Kod:
<a href="https://example.com/iletisim.html">İletişim</a>

Aşağıdaki bağlantı ise göreli yoldur:

Kod:
<a href="iletisim.html">İletişim</a>

İkinci örneğin hedefi temel URL’ye bağlıdır. Varsayılan temel, belgenin URL’sidir; base öğesi bunu değiştirebilir. Tarayıcı sunucunun fiziksel klasörünü bilmez: URL yolu bir dosyaya veya uygulama rotasına karşılık gelebilir.

Göreli yol nasıl çözülür?​


Örneklerde base öğesi yoktur ve URL’ler aynı origin’dedir. Tarayıcı göreli yolu belgenin URL dizinine göre tamamlar. Basit bir statik site yapısını varsayalım:

Kod:
/site
  /sayfalar
    urun.html
  /gorseller
    urun.jpg
  index.html

urun.html dosyasında urun.jpg dosyasına ulaşmak için bir üst klasöre çıkıp gorseller klasörüne girmeniz gerekir:

Kod:
<img src="../gorseller/urun.jpg" alt="Ürün görseli">

Burada .. bir üst klasörü ifade eder. ./ veya doğrudan dosya adı, mevcut klasörü ifade eder:

Kod:
<a href="./detay.html">Detay</a>
<a href="detay.html">Detay</a>

Başında tek eğik çizgi bulunan yol ise alan adının kökünden başlar. Bu biçim, tam URL olmadığı için teknik olarak kök tabanlı göreli yol olarak değerlendirilir:

Kod:
<a href="/iletisim.html">İletişim</a>

Sayfa https://example.com/sayfalar/urun.html adresinde olsa bile bu bağlantı https://example.com/iletisim.html adresini hedefler. Buna karşılık iletisim.html ifadesi /sayfalar/iletisim.html konumuna göre çözülür.

Hangi yolu ne zaman kullanmalı?​


Karar verirken bağlantının aynı site içinde mi, başka bir sitede mi olduğunu ve sitenin bir alt klasörde yayınlanıp yayınlanmayacağını dikkate alın.

Yol türüÖrnekUygun kullanım
Mutlak URLhttps://example.com/urunBaşka alan adı veya kesin adres
Dosyaya göreli../urun.htmlSayfalar arası taşınabilir iç yapı
Kök tabanlı/urun.htmlAynı alan adının kökünden başlayan yapı

Site doğrudan alan adının kökünde yayınlanıyorsa kök tabanlı yollar pratik olabilir. Ancak site https://example.com/proje/ gibi bir alt klasörde çalışacaksa /urun.html yolu alan adının kökünü hedefler ve /proje/urun.html yerine yanlış konuma gidebilir. Böyle bir taşınabilirlik ihtimali varsa bağlantıları sayfa konumuna göre göreli yazmak veya yayın ortamının temel yolunu doğru yapılandırmak daha güvenlidir.

Uygulanabilir kontrol adımları​


  1. Bağlantıyı içeren sayfanın URL’sini ve varsa base öğesini belirleyin. Tarayıcı konsolunda document.baseURI kullanılan temeli gösterir.
  2. Hedef dosyanın bu klasöre göre nerede olduğunu hesaplayın. Aynı klasördeyse dosya adını, üst klasördeyse her seviye için ../ ifadesini kullanın.
  3. Bağlantı başka bir alan adına gidiyorsa https:// ile başlayan tam adres yazın.
  4. Bağlantının bulunduğu sayfayı tarayıcıda açıp bağlantıya tıklayın. Beklenen dosya açılıyorsa yol doğrudur.
  5. 404 hatası alırsanız önce klasör seviyelerini, dosya adının büyük-küçük harflerini ve dosyanın gerçekten yayınlandığı konumu karşılaştırın. Kök tabanlı bir yol kullanıyorsanız sitenin alt klasörde yayınlanıp yayınlanmadığını da kontrol edin.

Örneğin /sayfalar/urun.html içinden /gorseller/urun.jpg dosyasına giden bağlantı ../gorseller/urun.jpg olmalıdır. Aynı bağlantıyı gorseller/urun.jpg yazarsanız tarayıcı /sayfalar/gorseller/urun.jpg konumunu arar ve dosya orada değilse sonuç başarısız olur.

Sondaki eğik çizgiyi de kontrol edin​


https://example.com/proje ile https://example.com/proje/ aynı temel dizini ifade etmez. detay.html ilkinde https://example.com/detay.html, ikincisinde https://example.com/proje/detay.html olur. Uygulama rotalarını fiziksel klasör gibi varsaymadan tarayıcının çözdüğü tam URL’ye bakın.

Sık yapılan hatalar​


En yaygın hata, göreli yolun alan adının kökünden başladığını sanmaktır. Başında / olmayan yol kullanılan temel URL’nin dizinine göre çözülür. Bir diğer hata, klasör adını atlarken fazla veya eksik ../ kullanmaktır. Her ../ yalnızca bir üst klasöre çıkar.

Dosya adlarında büyük-küçük harf farkını göz ardı etmek de özellikle Linux tabanlı sunucularda bağlantının çalışmamasına yol açabilir. Urun.html ile urun.html aynı dosya olmayabilir. Ayrıca yerel bilgisayarda çalışan mutlak bir dosya yolu olan C:\site\urun.html ifadesi web sitesinde kullanılmamalıdır; sunucudaki HTTP adresi veya doğru göreli yol kullanılmalıdır.

Sık sorulan sorular​


Mutlak URL her zaman daha mı güvenlidir?​


Hayır. Adres kesin olsa da alan adı, protokol veya klasör yapısı değiştiğinde tüm mutlak bağlantıların güncellenmesi gerekir. Aynı site içindeki bağlantılarda proje yapısına uygun göreli yol daha kolay taşınabilir.

Bağlantıdaki #bolum ne anlama gelir?​


Bu, URL’nin fragment parçasıdır; normalde aynı belgedeki bir bağlantı noktasına işaret eder. Hedef HTML içinde id="bolum" bulunan öğeye kaydırabilir. Ancak base farklı bir URL belirliyorsa yalnız #bolum bile o temel URL’ye çözülür; bu yüzden beklenmeyen sayfaya gidildiğinde base ayarını da kontrol edin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.