Paylaşımlı hosting ve cPanel ortamlarında sunucu yapılandırmasına erişiminiz yoksa HTTPS yönlendirmesini sitenin kök dizinindeki .htaccess dosyasıyla yapabilirsiniz. Bunun için mod_rewrite modülünün etkin olması gerekir; çoğu hosting'de varsayılan olarak açıktır.
Temel kural
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
İlk koşul bağlantı şifresizse kuralı çalıştırır; R=301 kalıcı yönlendirme, L kural işlemeyi sonlandırır.
Belirli bir alan adına ve www'ya sabitleme
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Bu kural, hem HTTP isteklerini hem de www'lu adresleri tek adımda https://example.com biçimine taşır.
Ters proxy veya CDN arkasında
TLS sonlandırması başka bir katmanda yapılıyorsa Apache %{HTTPS} değerini hep "off" görür ve sonsuz döngü oluşur. Bu durumda proxy'nin gönderdiği başlığa bakın:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Kuralın yerleşimi
- WordPress gibi sistemlerde kuralı
# BEGIN WordPressbloğunun üstüne koyun; yoksa yönlendirme atlanabilir. - Değişiklikten önce dosyanın yedeğini alın; sözdizimi hatası sitede 500 hatasına yol açar.
- Tarayıcı 301'leri önbelleğe aldığı için testleri gizli pencerede veya
curl -Iile yapın.
Sık hatalar
- Too many redirects: Proxy/CDN durumunu veya WordPress'teki site adresini (http/https) kontrol edin.
- Kural çalışmıyor: Sanal sunucuda
AllowOverridedeğerininAllveya en azındanFileInfoolması gerekir. - Karışık içerik: Temadaki sabit http:// bağlantılarını güncelleyin.
Ek güvenlik başlığı
Yönlendirme çalıştıktan sonra HSTS eklemek tarayıcıya siteyi yalnızca HTTPS ile açmasını söyler. mod_headers etkinse Header always set Strict-Transport-Security "max-age=31536000" satırı kullanılır. Önce kısa bir süreyle (ör. 300 saniye) deneyin; süre uzadıktan sonra geri dönüş zorlaşır. Alt alan adlarının tamamı HTTPS'e hazır değilse includeSubDomains eklemeyin.
Sertifikanız henüz yoksa SSL sertifikaları sayfasından seçebilir, kurulumdan sonra SSL kontrol aracıyla sonucu doğrulayabilirsiniz.