15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
01.11.2024
1 +1

Apache, Nginx ve Diğer Sunucular İçin URL’den index.html Nasıl Kaldırılır: Kapsamlı Rehber

Temiz, profesyonel URL’ler modern web geliştirmenin temel taşlarıdır. Web siteniz URL’lerinin sonunda index.html gösteriyorsa — örneğin https://example.com/index.html — sadece estetik bir sorunla uğraşmıyorsunuz. Dağınık URL’ler SEO sıralamalarınızı olumsuz etkileyebilir, tıklama oranlarını azaltabilir ve sitenizi hem kullanıcılara hem de arama motoru tarayıcılarına eski görünmesini sağlayabilir. İyi haber? index.html öğesini URL’lerinizden kaldırmak basit bir işlemdir ve bu kılavuz size mevcut tüm yöntemleri gösterecektir.

İçindekiler

  1. index.html Kaldırmanın Neden Önemli Olduğu
  2. Temel Nedeni Anlamak
  3. Yöntem 1: Apache Sunucularında .htaccess Kullanma
  4. Yöntem 2: Nginx Server Bloklarını Yapılandırma
  5. Yöntem 3: Sabit Kodlanmış HTML Bağlantılarını Güncelleme
  6. Yöntem 4: cPanel’in Yönlendirme Yöneticisini Kullanma
  7. Değişikliklerinizi Test Etme
  8. Kaçınılması Gereken Yaygın Hatalar
  9. Sonuç

1. URL’lerden index.html Kaldırmanın Neden Önemli Olduğu {#why-it-matters}

Teknik adımlara geçmeden önce, bunun web sitenizin performansı için neden önemli olduğunu anlamak değerlidir.

SEO Etkisi

Google gibi arama motorları https://example.com/ ve https://example.com/index.html öğelerini iki ayrı URL olarak değerlendirir. Bu, bir yinelenen içerik sorunu oluşturur — ana sayfa içeriğiniz iki farklı adres aracılığıyla erişilebilir olup, bu da PageRank’inizi zayıflatabilir ve tarayıcıları kafa karıştırabilir. index.html olmadan tek bir kanonik URL’yi zorunlu kılarak, bağlantı öz sermayesini birleştirir ve arama motorlarına net bir sinyal gönderirsiniz.

Kullanıcı Deneyimi

URL’ler markanızın bir parçasıdır. https://example.com/about/ gibi temiz bir URL, https://example.com/about/index.html gibi bir URL’den çok daha kolay hatırlanır, paylaşılır ve güvenilirdir. Kullanıcılar temiz ve kasıtlı görünen URL’lere tıklama, paylaşma ve geri dönme olasılığı daha yüksektir.

Profesyonel İtibar

Dosya yapınızı URL’lerde göstermek, kötü yapılandırılmış sunucuların bir işaretidir. index.html öğesini kaldırmak, web sitenizin profesyonelce yönetildiğini gösterir — hem ziyaretçiler hem de arama motorları için önemli bir güven faktörü.

> Pro İpucu: Web sitenizi düzgün yapılandırılmış bir barındırma ortamında çalıştırıyorsanız, bu sorunların çoğu sunucu düzeyinde minimal çabayla çözülebilir. VPS Barındırma gibi platformlar, bu kılavuzda açıklandığı gibi bu yapılandırmaları tam olarak uygulamak için tam kök erişimi sağlar.

2. Temel Nedeni Anlamak {#understanding-the-issue}

Web sunucuları, bir kullanıcı bir dizine eriştiğinde otomatik olarak bir varsayılan belge sunacak şekilde yapılandırılır. Çoğu sunucu için bu varsayılan dosya index.html veya index.php öğesidir. Bir ziyaretçi https://example.com/ öğesine gittiğinde, sunucu dahili olarak https://example.com/index.html öğesini sunar — ve yapılandırmanıza bağlı olarak, bu dosya adını tarayıcının adres çubuğunda gösterebilir.

İşte adım adım ne olur:

  1. Kullanıcı https://example.com/ öğesini talep eder
  2. Sunucu kök dizinde varsayılan bir dosya arar
  3. Sunucu index.html öğesini bulur ve sunar
  4. Uygun yeniden yazma kuralları olmadan, URL https://example.com/index.html öğesine güncellenebilir

Çözüm, index.html isteklerini kesip kalıcı olarak (HTTP 301 aracılığıyla) temiz URL’ye yönlendiren URL yeniden yazma kuralları uygulamaktır. Bu, SEO değerini korur ve tutarlı bir kullanıcı deneyimi sağlar.

3. Yöntem 1: Apache Sunucularında .htaccess Kullanarak index.html Kaldırma {#apache-htaccess}

Apache, dünyada en yaygın kullanılan web sunucularından biridir ve .htaccess dosyası güçlü, dizin düzeyinde bir yapılandırma mekanizması sağlar. Bu yöntem, neredeyse tüm Apache tabanlı paylaşılan barındırma, VPS ve özel sunucu ortamlarında çalışır.

Adım 1: .htaccess Dosyasını Bulun veya Oluşturun

.htaccess dosyası web sitenizin kök dizininde bulunur (genellikle public_html/ veya www/). Buna şu yollarla erişebilirsiniz:

  • FTP istemcisi (FileZilla gibi)
  • Barındırma kontrol panelinizdeki Dosya Yöneticisi (örn. cPanel)
  • SSH terminali ve nano veya vim gibi bir metin editörü

Dosya yoksa, yeni bir dosya oluşturun ve bunu tam olarak .htaccess olarak adlandırın (başındaki nokta gereklidir).

> Önemli: .htaccess dosyası Unix tabanlı sistemlerde gizli bir dosyadır. FTP istemcinizin gizli dosyaları görüntüleyecek şekilde ayarlandığından emin olun.

Adım 2: URL Yeniden Yazma Kurallarını Ekleyin

.htaccess dosyasını bir metin editöründe açın ve aşağıdaki bloğu ekleyin. Dosya zaten içerik içeriyorsa, bu satırları en üste veya mevcut bir RewriteEngine On bloğu içine ekleyin:

RewriteEngine On

# Remove index.html from URLs
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.]+).html [NC]
RewriteRule ^ %1 [R=301,L]

# Optionally remove index.php as well
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.]+).php [NC]
RewriteRule ^ %1 [R=301,L]

Adım 3: Bu Kodun Ne Yaptığını Anlamak

Her yönergeyi parçalayalım:

YönergeAçıklama
RewriteEngine OnApache’nin mod_rewrite modülünü etkinleştirir
RewriteCond %{THE_REQUEST}Ham HTTP istek satırını kontrol eder (işlenen URI değil)
^[A-Z]{3,}s([^.]+).html.html ile biten istekleri eşleştirir ve yolu yakalar
[NC]Eşleşmeyi büyük/küçük harfe duyarsız hale getirir
RewriteRule ^ %1 [R=301,L]Yakalanan yola (.html olmadan) kalıcı 301 yönlendirmesi ile yönlendirir

%{THE_REQUEST} yerine %{REQUEST_URI} kullanmak burada kritiktir — yeniden yazma döngülerini önlemek için işlenen URI yerine orijinal tarayıcı isteğini kontrol eder.

Adım 4: mod_rewrite’ın Etkinleştirildiğini Doğrulayın

.htaccess yeniden yazmaları çalışması için Apache’nin mod_rewrite modülü etkinleştirilmiş olmalıdır. Çoğu yönetilen barındırma ortamında varsayılan olarak etkindir. Kendi kendini yöneten bir VPS veya özel sunucuda, bunu şu şekilde etkinleştirebilirsiniz:

sudo a2enmod rewrite
sudo systemctl restart apache2

Ayrıca Apache yapılandırmanızda belge kök dizininiz için AllowOverride All ayarlandığından emin olun.

Adım 5: Kaydedin ve Test Edin

.htaccess dosyasını kaydedin ve web sitenizi hemen test edin. https://example.com/index.html öğesine gidin — otomatik olarak https://example.com/ öğesine 301 durum koduyla yönlendirilmelisiniz.

4. Yöntem 2: Nginx Server Blok Yapılandırması Aracılığıyla index.html Kaldırma {#nginx-configuration}

Nginx, URL yeniden yazmasını Apache’den farklı şekilde işler. Dizin başına .htaccess dosyaları yerine, tüm yapılandırma sunucu blok dosyalarında merkezi olarak yönetilir. Bu yaklaşım daha performanslı ancak SSH erişimi ve sunucu düzeyinde izinler gerektirir.

> Not: SSH erişimi olmayan yönetilen bir barındırma planındaysanız, barındırma sağlayıcınıza başvurun veya bu kılavuzda açıklandığı gibi bu yapılandırmaları tam olarak uygulamak için cPanel ile VPS yükseltmeyi düşünün.

Adım 1: Nginx Yapılandırma Dosyasına Erişin

SSH aracılığıyla sunucunuza bağlanın ve web sitenizin Nginx yapılandırma dosyasını açın. Yapılandırma dosyaları genellikle /etc/nginx/sites-available/ konumunda bulunur:

sudo nano /etc/nginx/sites-available/your-domain.conf

Varsayılan yapılandırma dosyasını kullanıyorsanız:

sudo nano /etc/nginx/sites-available/default

Adım 2: Server Bloğuna Yeniden Yazma Kuralları Ekleyin

server {} bloğunuzu bulun ve aşağıdaki yönergeleri ekleyin:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html;
    index index.html index.php;

    # Remove index.html from URLs with a 301 redirect
    if ($request_uri ~ ^(.*/)index.html$) {
        return 301 $1;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

Adım 3: Nginx Yapılandırmasını Anlamak

Her bölümün ne yaptığı aşağıdadır:

  • if ($request_uri ~ ^(.*/)index.html$) — Bu koşul, normal bir ifade kullanarak /index.html ile biten herhangi bir URL’yi eşleştirir
  • return 301 $1 — Yakalanan yola (index.html olmadan dizin) kalıcı yönlendirme verir
  • try_files $uri $uri/ =404 — Nginx’e dosya varsa sunmasını, dizini denemesini veya 404 hatası döndürmesini söyler

Adım 4: Yapılandırmayı Test Edin ve Nginx’i Yeniden Başlatın

Yeniden başlatmadan önce, her zaman Nginx yapılandırmanızı sözdizimi hataları açısından test edin:

sudo nginx -t

Çıktı syntax is ok ve test is successful gösteriyorsa, Nginx’i yeniden başlatın:

sudo systemctl restart nginx

Adım 5: Gelişmiş Nginx Yeniden Yazma (Alternatif Yöntem)

Daha karmaşık senaryolar için Nginx’in rewrite yönergesini kullanabilirsiniz:

location ~ ^(.*/)index.html$ {
    rewrite ^(.*/)index.html$ $1 permanent;
}

Bu, Nginx’in yerel yeniden yazma motorunu kullanarak aynı sonucu elde eder.

Sunucu tarafı yönlendirmeler harici istekleri işler, ancak HTML dosyalarınız index.html öğesine işaret eden sabit kodlanmış bağlantılar içeriyorsa, bu bağlantılar her tıklandığında gereksiz yönlendirmeleri tetikleyecektir. Bu, gecikme ekler ve ek HTTP istekleri oluşturur.

Sabit Kodlanmış Bağlantıları Bulma ve Düzeltme

HTML, PHP ve şablon dosyalarınızda index.html öğesine yapılan tüm referansları arayın ve bunları temiz yollar kullanacak şekilde güncelleyin:

Önce:

<a href="index.html">Home</a>
<a href="/about/index.html">About Us</a>
<a href="products/index.html">Products</a>

Sonra:

<a href="/">Home</a>
<a href="/about/">About Us</a>
<a href="/products/">Products</a>

Tüm Örnekleri Bulmak İçin Komut Satırını Kullanma

Sunucunuza SSH erişiminiz varsa, index.html referansları içeren tüm dosyaları hızlı bir şekilde bulabilirsiniz:

grep -r "index.html" /var/www/html/ --include="*.html" --include="*.php" -l

Bu komut, index.html dizesini içeren tüm dosyaları listeler ve neyin güncellenmesi gerektiğini belirlemeyi kolaylaştırır.

Sitemap’leri ve Kanonik Etiketleri Güncelleme

Şunları kontrol etmeyi unutmayın:

  • XML sitemap (sitemap.xml) — index.html etiketlerinden herhangi bir <loc> referansını kaldırın
  • HTML <head> içindeki Kanonik etiketler<link rel="canonical"> öğesinin temiz URL’ye işaret ettiğinden emin olun
  • robots.txt — Açık URL referanslarını güncelleyin

6. Yöntem 4: cPanel’in Yönlendirme Yöneticisini Kullanma {#cpanel-redirects}

cPanel erişimine sahip bir Paylaşılan Web Barındırma planındaysanız, herhangi bir yapılandırma dosyasına dokunmadan grafik bir arayüz aracılığıyla yönlendirmeleri yapılandırabilirsiniz.

Adım 1: cPanel’e Giriş Yapın

cPanel panonuza https://yourdomain.com:2083 aracılığıyla veya barındırma sağlayıcınızın istemci alanı aracılığıyla erişin.

Adım 2: Yönlendirmelere Gidin

cPanel panosunda, Etki Alanları bölümünü bulun ve Yönlendirmeler öğesine tıklayın.

Adım 3: Yönlendirmeyi Oluşturun

Yönlendirme formunu doldurun:

  • Tür: Kalıcı (301)
  • https?://www. — Açılır menüden etki alanınızı seçin
  • Yönlendir: Temiz URL’nizi girin (örn. https://example.com/)

Alternatif olarak, cPanel’in Dosya Yöneticisi, tarayıcı aracılığıyla .htaccess dosyasını doğrudan düzenlemenize olanak tanır; bu, paylaşılan barındırma kullanıcıları için en esnek yaklaşımdır.

> Yükseltme İpucu: Paylaşılan barındırma başlamak için harika olsa da, sunucu yapılandırmaları üzerinde ayrıntılı kontrol gerekiyorsa, maksimum kontrol için Özel Sunucuları keşfedin veya güç ile kullanım kolaylığını dengeleyen yönetilen bir VPS çözümüyle başlayın.

7. Değişikliklerinizi Kapsamlı Şekilde Test Etme {#testing}

Yukarıdaki yöntemlerden herhangi birini uyguladıktan sonra, kapsamlı test gereklidir. İşte sistematik bir yaklaşım:

Tarayıcı Testi

  1. Tarayıcınızı açın ve https://example.com/index.html öğesine gidin
  2. URL’nin adres çubuğunda ###PPT_NOTR_84_CODE
15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın