.htaccess ile HTTPS’den HTTP’ye Yönlendirme
Belirli bir web sitesini HTTPS yerine HTTP aracılığıyla açılacak şekilde yönlendirmek istediğiniz bazı özel durumlar olabilir. Https’den http’ye geçiş yapmak için web sitenizin .htaccess dosyasına aşağıdaki kodları ekleyebilirsiniz. Eğer .htaccess dosya mevcut değilse aynı isimle oluşturabilirsiniz. (.htaccess dosyası Linux hostlarda public_html klasörü altındadır ve gizlidir. Göremiyorsanız gizli dosyaları göster seçeneğini kullanınız. )
# Redirect HTTPS to HTTP RewriteCond %{HTTP:X-Forwarded-Proto} =https RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bu yukarıdaki kod ile Linux hosting kullanıyorsanız https’den http’ye geçiş yapabilirsiniz. https://alanadınız.com ‘u http://alanadınız.com ‘a yönlendirecektir.
.htaccess ile HTTP’den HTTPS’ye Yönlendirme
Birde yukarıdaki işlemin tam tersi olan yani http’den https’ye yönlendirme işlemi vardır. Mevcut sitenize SSL sertifikası aldıysanız mutlaka eski http’li sayfalarınızı 301 yönlendirmesi ile https’ye yönlendirmeniz gerekmektedir. SSL sertifikasının SEO açısından olumlu bir etken olduğunu da bilmelisiniz. Aşağıdaki kodlardan istediğinizi kullanabilirsiniz.
Direkt port yönlendirme işlemi;
http istekleri sunucularda 80 numaralı portu kullanır. Bu portu kapatman otomatik olarak http isteklerinin geri çevrilmesi anlamına gelir. Diğer yandan https isteklerinde ise sunucu tarafından 443 numaralı portu kullanılır. Cpanel ve htaccess kullanarak 80 numaralı port için gelen http isteklerini 301 ile 443 portuna yönlendirmeniz de aslında http isteklerini https ye yönlendirmek anlamına gelecektir. 80 numaralı portu 301 yönlendirmesi ile 443 için .htaccess dosyanızın başına aşağıdaki kodu ekleyebilirsiniz.
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Aşağıdaki kodlar ile de aynı işlemleri yapabilirsiniz.
RewriteEngine On RewriteCond %{HTTP_HOST} ^siteniz\.com [NC] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.siteniz.com/$1 [R,L]
veya
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.siteniz.com/$1 [R,L]
Bu kodlar sayesinde http’den https’ye geçiş işlemini gerçekleştirebilirsiniz.
Cpanelde .htaccess Dosyasının Yeri
Normalde işlem yapacağınız .htaccess dosyası public_html klasörü altındadır.
- Panelinize giriş yaptıktan sonra dosya yöneticisine tıklayınız
- Public_html klasörünün içine giriniz.
Eğer burada dosyayı göremiyorsanız belki gizli dosyaları göster seçeneğiniz kapalı olabilir.
Cpanelde gizli dosyaları göstermek için
- Cpanele giriş yaptıktan sonra “Dosya Yöneticisi”ne tıklayınız
Dosya yöneticisine giriş yaptıktan sonra solda bulunan klasör ağacından “Public_Html” klasörüne tıklayınız.
.htaccess dosyası gizli olduğundan gözükmeyebilir. Bu sebeple dosya yöneticisinden gizli dosyaları gösterme seçeneğini aktifleştirmek gerekir. Bunun için;
Dosya Yöneticisinin sağ üst kısmında bulunan “Ayarlar” butonuna basınız.
Açılan popup sayfadan aşağıdaki gibi “Gizli Dosyaları Göster” kutucuğunu işaretleyiniz.
Eğer sisteminizde .htaccess dosyası mevcutsa aşağıdaki gibi dosya listesinde gözükecektir.
- Htaccess Komutları
- Gzip Nedir?
Kaynaklar:
- https://www.siteground.com/kb/how-to-force-ssl-with-htaccess/
- https://htaccessbook.com/htaccess-redirect-https-www/