WordPress üzerinde kalıcı bağlantılar 404 hatası veriyor, tüm sayfalar ana sayfaya dönüyor veya bir eklenti .htaccess dosyasını bozduysa WordPress’in varsayılan rewrite kurallarını yeniden oluşturmak gerekebilir. Ancak .htaccess sunucu yapılandırmasına etki eden bir dosyadır; mevcut dosyanın yedeğini almadan değişiklik yapmayın.
Önemli: Bu rehber Apache ve Apache ile .htaccess uyumluluğu sağlayan yapılara yöneliktir. Saf Nginx yapılandırmasında .htaccess okunmaz; rewrite kuralları Nginx sunucu konfigürasyonunda yönetilir.
WordPress varsayılan .htaccess kodu
WordPress’in güncel Advanced Administration Handbook dokümanında temel tek site kurulumu için verilen kurallar aşağıdaki yapıdadır:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPressWordPress alt klasöre kuruluysa RewriteBase ve hedef yollar kurulum dizinine göre değişebilir. Multisite kurulumu da farklı kurallar kullanır; tek site kodunu Multisite üzerine kopyalamayın.
.htaccess dosyası nerede bulunur?
Dosya genellikle WordPress kök dizininde, wp-config.php ve wp-admin klasörleriyle aynı seviyededir. Nokta ile başlayan dosyalar bazı FTP veya dosya yöneticilerinde gizli olabilir; “hidden files / gizli dosyaları göster” seçeneğini açmanız gerekebilir.
404 hatasında güvenli düzeltme sırası
- Mevcut
.htaccessdosyasını bilgisayarınıza veya farklı bir isimle sunucuya yedekleyin. - WordPress paneline erişebiliyorsanız Ayarlar → Kalıcı Bağlantılar sayfasını açıp mevcut yapıyı kaydedin. WordPress yazma iznine sahipse kuralları yeniden oluşturabilir.
- Sorun devam ederse varsayılan kuralı test edin.
- Sunucu error logunu kontrol edin; 500 hatası varsa yalnızca rewrite değil PHP veya modül hatası da olabilir.
- Cache/CDN kullanıyorsanız değişiklik sonrası ilgili cache katmanlarını temizleyin.
.htaccess 500 hatası oluşturursa
Yanlış direktif, sunucuda izin verilmeyen bir Options kuralı veya desteklenmeyen modül talimatı 500 hatasına yol açabilir. Sorunun .htaccess kaynaklı olup olmadığını anlamak için dosyayı geçici olarak yeniden adlandırıp siteyi test etmek yararlı olabilir; ardından logdaki gerçek hataya göre düzeltme yapılmalıdır.
HTTP Authorization satırı neden var?
Güncel temel WordPress kurallarında HTTP_AUTHORIZATION bilgisinin korunmasına yardımcı olan bir RewriteRule bulunur. Eski örneklerde bu satırın olmaması normaldir; yeni bir varsayılan dosya oluştururken WordPress’in güncel resmi örneğini esas almak daha doğrudur.
Nginx ve OpenLiteSpeed kullanıyorsanız
Nginx .htaccess dosyasını işlemez. OpenLiteSpeed ise Apache rewrite sözdiziminin önemli bir bölümünü destekleyebilir, ancak sunucu ve vhost yapılandırması belirleyicidir. Hosting paneliniz rewrite kurallarını ayrı bir ekrandan yönetiyorsa o katmanı da kontrol edin.
İlgili sorunlar
Beyaz ekran veya 500 hata alıyorsanız WordPress 500 Internal Server Error rehberine; domain değiştiriyorsanız WordPress domain taşıma rehberine geçin.
Resmî kaynak
WordPress Developer Handbook — Apache HTTPD / .htaccess
İlgili UST Bilişim hizmetleri
Sunucu, hosting, DNS veya kurumsal e-posta altyapınız için Hosting / Sunucu / Mail çözümlerimizi inceleyebilir veya teknik ihtiyacınızı bize iletebilirsiniz.
Bilgiyi uygulanabilir projeye dönüştürelim.
İhtiyacınızı teknik, operasyonel ve ticari açıdan değerlendirip doğru çözüm yol haritasını birlikte oluşturalım.
Projenizi Anlatın



