.htaccess Dosyasının Temel İşlevi ve WordPress İçin Önemi
Web sunucularının yönetiminde kritik bir rol oynayan .htaccess (Hypertext Access), Apache tabanlı sunucularda dizin düzeyinde yapılandırma ayarlarını kontrol eden güçlü bir dosyadır. WordPress altyapısında bu dosya, kalıcı bağlantıların (permalinks) doğru çalışmasını sağlamak, site güvenliğini artırmak ve yönlendirmeleri yönetmek için hayati bir öneme sahiptir. Eğer sitenizde bir wordpress .htaccess dosyası bulunmuyorsa veya hatalı yapılandırılmışsa, alt sayfalarınızda 404 hataları almanız veya erişim sorunları yaşamanız oldukça muhtemeldir.
Bu dosya genellikle sunucunun kök dizininde yer alır ve WordPress kurulumu sırasında otomatik olarak oluşturulur ancak bazı durumlarda manuel müdahale gerektirebilir. Arama motoru optimizasyonu (SEO) açısından bakıldığında, URL yapısının temiz ve anlaşılır olması doğrudan bu dosyadaki kurallara bağlıdır.
- URL’lerin SEO dostu (SEF) hale getirilmesi ve yönetimi.
- Site güvenliği için IP engelleme ve şifreli dizin koruması.
- Önbellekleme ve sıkıştırma ayarlarıyla site hızının artırılması.
Birçok site sahibi, eklentiler aracılığıyla yapılan değişikliklerin arka planda aslında bu dosyayı güncellediğinin farkında olmayabilir. Özellikle güvenlik ve önbellek eklentileri, sitenizin daha verimli çalışması için wordpress .htaccess dosyası içerisine özel kod blokları eklerler. Bu dosyanın doğru konumunu bilmek ve içeriğine hakim olmak, olası bir “Internal Server Error” hatasında sorunu hızla çözebilmeniz için size büyük bir avantaj sağlar.
cPanel Dosya Yöneticisi Üzerinden Erişimi Sağlamak
Hosting hizmeti aldığınız firmanın size sunduğu cPanel veya Plesk gibi kontrol panelleri, site dosyalarınıza ulaşmanın en pratik ve hızlı yoludur. Dosya Yöneticisi (File Manager) aracını açtığınızda, genellikle “public_html” klasörü içerisine girmeniz gerekmektedir çünkü WordPress dosyaları varsayılan olarak burada barındırılır. Bu alana girdiğinizde wp-content, wp-admin gibi klasörlerin yanında, dosya isminin başında nokta işareti olan .htaccess dosyasını görebilmeniz gerekir.
Eğer dosya yöneticisinde ilgili klasöre girdiğiniz halde dosyayı göremiyorsanız, panik yapmanıza gerek yoktur çünkü bu dosya varsayılan olarak “gizli dosya” statüsündedir. cPanel arayüzünde genellikle sağ üst köşede bulunan “Ayarlar” butonuna tıklayarak “Gizli Dosyaları Göster (dotfiles)” seçeneğini işaretlemeniz gerekir. Bu işlemi yapıp kaydettikten sonra sayfa yenilendiğinde, aradığınız wordpress .htaccess dosyası görünür hale gelecektir ve düzenlemeye hazır olacaktır.
Dosyayı bulduktan sonra üzerine sağ tıklayıp “Edit” veya “Düzenle” seçeneğini seçerek içeriğini görüntüleyebilir ve gerekli değişiklikleri yapabilirsiniz. Ancak bu işlem sırasında kod yapısını bozmamaya ve sadece ihtiyacınız olan satırları değiştirmeye azami özen göstermelisiniz.
- cPanel’e giriş yapın ve Dosya Yöneticisi’ni açın.
- public_html klasörüne girin ve gizli dosyaları görünür yapın.
- Dosyayı bulup sağ tıklayarak düzenleme moduna geçin.
FTP İstemcisi Kullanarak Ana Dizine Ulaşmak
Web geliştiricilerinin ve site yöneticilerinin dosyaları yönetmek için en sık kullandığı yöntemlerden biri, FileZilla gibi bir FTP (File Transfer Protocol) istemcisi kullanmaktır. Sunucu bilgilerinizle FTP programına bağlandığınızda, uzak site alanında (genellikle sağ taraftaki panelde) sitenizin kök dizinine ulaşmanız gerekir. Bu dizin genellikle “public_html” veya “www” olarak adlandırılır ve WordPress kurulum dosyalarınızın tamamı burada listelenir.
FTP programlarında da tıpkı cPanel’de olduğu gibi gizli dosyaların varsayılan olarak gösterilmemesi durumuyla karşılaşabilirsiniz. FileZilla kullanıyorsanız, üst menüden “Sunucu” seçeneğine tıklayıp açılan listeden “Gizli dosyaları göstermeye zorla” seçeneğini aktif etmeniz gerekebilir. Bu ayarı yaptıktan sonra dizin listesini yenilediğinizde, daha önce gizlenmiş olan wordpress .htaccess dosyası listenin en üst veya en alt kısımlarında belirecektir.
FTP üzerinden işlem yapmanın en büyük avantajı, dosyayı bilgisayarınıza indirip (download) yedekledikten sonra düzenleyip tekrar yükleyebilme (upload) imkanıdır. Bir hata yapmanız durumunda, bilgisayarınızdaki yedeği geri yükleyerek sitenizi saniyeler içinde eski çalışır haline getirebilirsiniz.
- Sunucu (Host), Kullanıcı Adı ve Şifre ile bağlantı kurun.
- Uygulama ayarlarından gizli dosyaların görünürlüğünü açın.
- Dosyayı masaüstüne indirip güvenli bir kopyasını oluşturun.
Dosyanın Görünmeme Nedeni ve Gizli Dosyaları Açmak
Unix ve Linux tabanlı işletim sistemlerinde, isminin başında nokta (.) işareti bulunan dosyalar “sistem dosyası” veya “gizli dosya” olarak kabul edilir ve standart listelemelerde kullanıcıya gösterilmez. Bu mantık, kritik yapılandırma dosyalarının yanlışlıkla silinmesini veya değiştirilmesini önlemek amacıyla geliştirilmiş bir güvenlik önlemidir. Dolayısıyla klasörünüze baktığınızda wordpress .htaccess dosyası yokmuş gibi görünse de aslında oradadır, sadece görünürlüğü kapalıdır.
Dosyayı gerçekten bulamıyorsanız ve gizli dosyaları göster seçeneğini aktif ettiğinizden eminseniz, dosya hiç oluşturulmamış veya silinmiş olabilir. Özellikle yeni kurulan WordPress sitelerinde veya manuel yapılan taşımalarda bu dosyanın eksik olması sık karşılaşılan bir durumdur. Böyle bir durumda endişelenmenize gerek yoktur çünkü WordPress, kendi yönetim paneli üzerinden bu dosyanın kolayca yeniden oluşturulmasına olanak tanıyan bir altyapıya sahiptir.
Bazı hosting firmaları veya güvenlik eklentileri, dosya izinlerini kısıtlayarak bu dosyanın FTP veya dosya yöneticisi üzerinden görülmesini engelleyebilir. Eğer tüm adımları denemenize rağmen dosyaya ulaşamıyorsanız, hosting sağlayıcınızla iletişime geçerek dosya izinlerinin kontrol edilmesini talep edebilirsiniz.
- İşletim sisteminin nokta ile başlayan dosyaları gizleme özelliği.
- Dosya izinlerinin (CHMOD) kısıtlayıcı şekilde ayarlanmış olması.
- WordPress kurulumunun henüz dosyayı generate etmemiş olması.
WordPress Panelinden Otomatik .htaccess Oluşturma Yöntemi
Eğer sunucunuzda .htaccess dosyası fiziksel olarak yoksa veya yanlışlıkla sildiyseniz, kod yazmanıza gerek kalmadan WordPress panelini kullanarak bu dosyayı yeniden oluşturabilirsiniz. Bunun için WordPress yönetici paneline (wp-admin) giriş yapmanız ve sol menüden “Ayarlar” sekmesinin altındaki “Kalıcı Bağlantılar” (Permalinks) sayfasına gitmeniz yeterlidir. Bu sayfada herhangi bir ayarı değiştirmenize gerek kalmadan, sadece sayfanın en altındaki “Değişiklikleri Kaydet” butonuna tıklamak sistemin dosyayı tetiklemesini sağlar.
Bu işlem, WordPress’in veritabanındaki ayarları okuyarak kök dizinde standart bir wordpress .htaccess dosyası oluşturmasını ve gerekli yönlendirme kodlarını içine yazmasını sağlar. Özellikle “Sayfa Bulunamadı” (404) hataları alıyorsanız, bu basit kaydetme işlemi genellikle sorunu saniyeler içinde çözer. Ancak bu işlemin başarılı olabilmesi için sunucudaki dosya yazma izinlerinin (writable permissions) açık olması gerektiğini unutmamalısınız.
Eğer WordPress’in dosya yazma izni yoksa, “Değişiklikleri Kaydet” butonuna bastıktan sonra sayfanın altında size bir kod bloğu verecek ve bunu manuel olarak eklemenizi isteyecektir.
- WordPress yönetim panelinden Ayarlar > Kalıcı Bağlantılar yolunu izleyin.
- Hiçbir seçim yapmadan doğrudan “Değişiklikleri Kaydet” butonuna basın.
- FTP üzerinden dosyanın oluşup oluşmadığını kontrol edin.
Dosyayı Düzenlemeden Önce Alınması Gereken Güvenlik Önlemleri
Sunucu yapılandırma dosyaları üzerinde değişiklik yapmak, cerrahi bir müdahale gibidir; yapılacak en ufak bir harf hatası (syntax error) tüm web sitesinin çökmesine ve “500 Internal Server Error” hatası vermesine neden olur. Bu nedenle, wordpress .htaccess dosyası üzerinde herhangi bir kod ekleme veya çıkarma işlemi yapmadan önce mutlaka dosyanın çalışan halinin bir yedeğini almalısınız. Yedeği bilgisayarınıza indirmek veya sunucu üzerinde ismini “.htaccess_yedek” olarak değiştirerek kopyalamak hayat kurtarıcıdır.
Düzenleme yaparken Windows Not Defteri gibi basit metin editörleri yerine, kod yapısını bozmayan Notepad++ veya Sublime Text gibi editörleri kullanmanız önerilir. Basit metin editörleri bazen dosya kodlamasını (encoding) veya satır sonu karakterlerini bozarak dosyanın sunucu tarafından okunamamasına neden olabilir. Kodları eklerken #Begin WordPress ve #End WordPress etiketlerinin arasına değil, dışına ekleme yapmanız, WordPress güncellemelerinde kodlarınızın silinmesini engeller.
Eğer bir düzenleme sonrası siteniz erişilemez hale gelirse, panik yapmadan FTP ile bağlanıp düzenlediğiniz dosyayı silip, daha önce aldığınız yedeğin ismini tekrar .htaccess yaparak geri yükleyebilirsiniz.
- Çalışan dosyanın yedeğini mutlaka güvenli bir yere kaydedin.
- Kodlama için uygun bir metin düzenleyici yazılım kullanın.
- Hata durumunda yedeği geri yükleme senaryosuna hakim olun.
.htaccess ile Yapılabilecek Performans ve Güvenlik Ayarları
Bu dosyayı sadece WordPress’in çalışması için gerekli bir araç olarak görmek yanlıştır; aynı zamanda sitenizin güvenliğini ve hızını artırmak için kullanabileceğiniz güçlü bir optimizasyon aracıdır. Örneğin, wordpress .htaccess dosyası içerisine ekleyeceğiniz kodlarla belirli IP adreslerinin sitenize erişmesini engelleyebilir veya admin paneline erişimi kısıtlayabilirsiniz. Ayrıca, “Gzip sıkıştırma” kodlarını ekleyerek dosyaların tarayıcıya daha hızlı gönderilmesini sağlayabilir, site açılış hızınızı gözle görülür şekilde artırabilirsiniz.
Tarayıcı önbellekleme (Browser Caching) sürelerini ayarlamak da yine bu dosya üzerinden yapılabilecek en etkili performans iyileştirmelerinden biridir. Ziyaretçilerin tarayıcılarının, logolar veya CSS dosyaları gibi statik içerikleri ne kadar süreyle hafızada tutacağını belirleyerek sunucu yükünü hafifletebilirsiniz. Bu tür optimizasyonlar, Google PageSpeed Insights skorlarınızı doğrudan etkileyerek SEO performansınıza katkı sağlar.
SSL sertifikası kurulumundan sonra tüm trafiği HTTP’den HTTPS’e yönlendirmek için de genellikle bu dosya kullanılır.
- 301 yönlendirmeleri ile eski URL’leri yeni sayfalara taşıyın.
- Resimlerin başka sitelerde izinsiz kullanılmasını (Hotlink) engelleyin.
- Maksimum dosya yükleme boyutlarını (upload limit) artırın.
Sık Sorulan Sorular
.htaccess dosyasını silersem ne olur?Eğer bu dosyayı silerseniz, web sitenizin ana sayfası muhtemelen açılmaya devam eder ancak tüm alt sayfalarınız ve blog yazılarınız “404 Sayfa Bulunamadı” hatası verir. Ayrıca varsa özel güvenlik ve önbellek ayarlarınız devre dışı kalır. WordPress panelinden kalıcı bağlantıları kaydederek dosya tekrar oluşturulabilir.
WordPress sitemde .htaccess dosyası neden yok?Bunun iki temel nedeni olabilir: Birincisi, dosya gizli olduğu için dosya yöneticisinde görünmüyordur (gizli dosyaları göster seçeneğini açmalısınız). İkincisi, WordPress henüz bu dosyayı oluşturmamış olabilir; kalıcı bağlantılar ayarlarını kaydederek oluşturulmasını sağlayabilirsiniz.
.htaccess dosyası hangi klasörde bulunur?Bu dosya neredeyse her zaman WordPress’in kurulu olduğu ana kök dizinde (root directory) bulunur. Bu dizin genellikle “public_html”, “www” veya “htdocs” olarak isimlendirilir. wp-config.php dosyasının olduğu yerdedir.
Nginx sunucularda .htaccess dosyası var mıdır?Hayır, .htaccess dosyası sadece Apache ve LiteSpeed tabanlı sunucularda çalışır. Eğer siteniz Nginx altyapısında barınıyorsa bu dosya işlevsizdir; benzer ayarların “nginx.conf” dosyası üzerinden sunucu yöneticisi tarafından yapılması gerekir.
Dosyayı düzenledikten sonra sitem çöktü, ne yapmalıyım?Yaptığınız bir kod hatası (fazladan boşluk, yanlış karakter vb.) sunucu hatasına neden olmuştur. FTP ile bağlanıp hatalı dosyayı silin. Eğer yedeğiniz varsa geri yükleyin, yedeğiniz yoksa WordPress ayarlarından kalıcı bağlantıları yeniden kaydederek varsayılan temiz bir dosya oluşturun.