htaccess

Apache mod_rewrite ile http’den https’ye Yönlendirme

Ödeme sayfalarında, ki bunlar genelli alışveriş sitelerinde bulunur, kullanıcılar https protokolünü arıyorlar. Bulunduları sayfada en azından yeşil renkli kilit simgesini görmeyi bekliyorlar.

Alışveriş sitenizi http ile gezen birisi ödeme sayfasında https görmelidir. Çünkü işin içine para giriyor.

Bunu yapmanın iki yolu var.

  1. Fazladan çalışıp kendinizi yormak istiyorsanız bütün projenizde linkleri https olarak ayarlarsınız.
  2. Ama zekice davranıp 3 satırcık kodla işinizi bitirebilirsiniz.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Yukarıdaki kodu .htaccess dosyanızın içine ekleyin. İhtiyacınız olan herşeyi bu kod yapıverdi. Aşağıda bu satırları açıklayalım, bakalım ne demeklermiş:

Satır 1: RewriteEngine On
Bu satır Apache’ye rewrite motorunu çalıştırmaını belirtir. Böylelikle verilen kurallara göre rewrite işlemi yapılabilecektir URL’lerde.

Satır 2 : RewriteCond %{HTTPS} off
Bu satırda URL protokolümüzü kontrol ediyoruz. HTTPS off‘dan kastımız URL protokolümüz http‘yse anlamına geliyor. Eğer koşulumuz doğruysa true döner ve bir alt satırı işleme alır.

RewriteCond Direktifleri için linke tıklayın.

Satır 3: RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Üstteki koşul true döndüğü taktirde çalışır. http ile başlayan URL’mizi https olarak günceller.

Bu ipucunu kullanmaya başlamadan önce apache ayar dosyanızdan mod_rewrite modülünü açtığınızdan emin olun. Genellikle başında “#” işareti vardır ve kapalıdır. Başındaki diyez işaretini kaldırmanız gerekmektedir.

Fakat sadece bazı sayfalarımızda https olmasını istersek ne yapacağız? Bu da bir sonraki yazımızın konusu olsun.

Post Author: Oral ÜNAL

Web geliştirmeyi başta meslek olarak hayal eden fakat daha sonra bir hobi haline getiren birisiyim işte.

Yorum yazma sırası sizde!