HTTPS’e Yönlendirme İşlemi Nasıl Yapılır?


17
18 shares, 17 points

HTTPS‘e yönlendirme işleminin nasıl yapıldığını ve bu işlemi çeşitli platformlarda nasıl gerçekleştirdiğimizi detaylı bir şekilde aktaracağız.

HTTP’nin açılımı “Hyper Text Transfer Protocol” dür. HTTP web üzerinden iletişimin kurallarını tanımlayan bir protokol olmakla birlikte, yeni kurulmuş bir web sitesinde default olarak HTTP şeklinde  sunulur. Hepimizin bildiği gibi, internet tam olarak güvenli bir yer değil. Çoğumuz interneti web sitelerinde arama / tarama yapma, para işlemleri, online alışveriş, güvenli dosya transferi gibi ihtiyaçlar için kullanabiliyoruz. Peki bu tür işlemler için HTTP güvenli mi? Hayır güvenli değil.  HTTPS daha güvenli bir web sitesini ifade etmektedir. 

Bu noktada HTTP’den HTTPS’e yönlendirme işlemini nasıl yapacağınız ile ilgili adımlar aşağıdaki gibidir: 

CMS Yazılımlarına Göre HTTP’den SSL HTTPS’ye Yönlendirme Ayarları

  1. WordPress – SSL HTTPS Yönlendirme Ayarları: Eğer WordPress tabanlı bir siteniz varsa işleminiz çok basit. WP – admin wordpress admin panelinize giriş yapın. Ayarlar > Genel Ayarlar kısmına gelin. Oradaki WordPress Adresi (URL) ve Site Adresi (URL) kısımlarında gördüğünüz http://www.xxxxxxx.com şeklinde adresleri https://www.xxxxxxx.com olarak değiştirmeniz gerekmektedir. Yani sadece S harfini eklemeniz yeterli. Artık siteniz SSL sertifikanıza bağlanmış ve HTTPS güvenli adresine yönlendirilmiş olacaktır.
  2. Joomla – SSL HTTPS Yönlendirme Ayarları: Joomla administrator panelinize giriş yaptıktan sonra Yapılandırma > Genel kısmını açın. Sunucu sekmesine geldikten sonra, SSL’i Zorla kısmını Tüm Site olarak değiştirip kaydettiğinizde HTTP’den HTTPS’e yönlendirme işleminiz tamamlanacaktır.
  3. OpencartSSL HTTPS yönlendirme ayarları: Sitenizin ana dizininde ve admin klasörü içerisinde yer alan config.php dosyalarını not defterinde veya farklı bir kod düzenleme programında açmanız gerekmektedir. Dosya içerisinde yer alan tüm define (‘HTTP_SERVER’, ‘http://www. şekline benzer satırlardaki gördüğünüz HTTP kelimelerini, HTTPS olarak değiştirin ve geri sunucunuza yükleyin. Ardından aşağıda belirttiğimiz apache server kodunu .htaccess dosyanızın içerisine eklediğinizde işleminiz tamamlanmış olacaktır.
  4. Prestashop: SSL HTTPS yönlendirme ayarları: Prestashop yazılımına sahipseniz, bu işlemi Yönetim panelinden Tercihler > SEO & URL sayfasına girerek, sayfanın alt kısmında bulunan Dükkan URL Ayarla sekmesinde SSL adresi alanını www.xxxxxxx.com yerine https://www.xxxxxxx.com olarak değiştirebilirsiniz.

Linux & cPanel İçin .htaccess İçeriği İle Yönlendirme Ayarları 

Alternatif yazılımlarda link yapısını değiştirseniz bile, Opencart gibi bazı CMS yazılımları .htaccess kod ile yönlendirmeye de ihtiyaç duyabiliyor. Eğer aşağıdaki kod Linux hosting sitesinin ana dizininde yer alıyorsa, .htaccess dosyasının içine aşağıdaki kodu eklemeniz yeterlidir. Eğer bir .htaccess dosyanız yok ise, bir not defteri açarak aşağıdaki kodu ekleyin ve kaydetme aşamasında dosya adının başındaki nokta da dahil olmak üzere .htaccess olarak yazıp kaydedebilirsiniz. Tüm bu işlemleri gerçekleştirdikten sonra bu dosyayı sitenizin ana dizinine ekleyebilirsiniz.

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Windows & Plesk İçin web.config İçeriği İle Yönlendirme Ayarları

Ftp içeriğinizde yer alan web.config dosyasının içeriğini düzenleyip aşağıdaki komutu girebilirsiniz:

<?xml version=”1.0″ encoding=”UTF-8″?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name=”http to https” stopProcessing=”true”>

<match url=”(.*)” />

<conditions>

<add input=”{HTTPS}” pattern=”^OFF$” />

</conditions>

<action type=”Redirect” url=”https://{HTTP_HOST}/{R:1}” redirectType=”Temporary” />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

Yönetim Panelim için HTTP’den HTTPS’e Yönlendirmenize Gerek Yok!(Linux Cpanel)

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond %{REQUEST_URI} !^/Yonetim [NC]

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Tüm PHP Sitelerde Uygulanabilecek Çözüm Yöntemleri

Sitenizin config dosyasında 2. satıra (<? veya <?php altına) bu kodları ekleyiniz:

if(isset($_SERVER[‘HTTP_HTTPSSL’])){

$_SERVER[‘SERVER_PORT’]=443;

$_SERVER[‘HTTPS’]=’on’; }

httpd.conf Uygulanabilecek Çözüm Aşağıdaki Gibidir:

SetEnvIf Httpssl “true” HTTPS=on

JavaScript İle HTTPS Yönlendirme :

<script>if(document.location.protocol!=”https:”){

document.location=document.URL.replace(/^http:/i, “https:”);

}</script>


Bu İçeriği Beğendiyseniz Arkadaşlarınızla Paylaşın

17
18 shares, 17 points
Behzat Onur AKTAY
Natro Hosting’de Gece Destek Uzmanı olarak görevine devam eden Behzat, yazıları ve tecrübeleri ile Natro Blog’a bilgileriyle katkı sağlamaya devam etmektedir.

24 Comments

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  1. Paylaşımınız çok iyi olmuş, bu sıralar http den https geçişte en önemli noktalardan birisini aktarmışsınız. Çok teşekkürler.

  2. Behzat Bey yukarıdaki wordpress ile ilgili söylediğinizi gerçekleştrik ancak düzelme olmadı 2.işlem olarak ne yapmamız gerekiyor.

    1. Selçuk Bey Merhabalar ;
      Tüm https yönlendirmelerinizi ilk öncelikle devre dışı bırakınız. Ardından aşağıdaki belirtmiş olduğum kodu .htaccess üzerinden kayıt ediniz. Ardından hem https:// hemde www. kaydını otomatik rewrite yapacaktır. Yorumunuz içinde teşekkür eder iyi günler dileriz..
      ——————————————————————————————————–
      RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www\.sitenizinadi\.com
      RewriteRule (.*) https://www.sitenizinadi.com/$1 [R=301,L]

      1. Behzat bey merhaba sitemde wordpress kurulu söylediğiniz gibi kodu .htacsess içineyerleştirdim ve site adı yazan yere kendi sitemi yazdım bu kez siteye erişim engellendi anlamadım nasıl çözeceğim

        1. Kerim Bey Merhaba ;
          .htaccess dosyası sistem dosyası olduğu için üzerindeki bir hata sitede hataya neden olacaktır. Dosyayı kontrol edip gereksiz kodları çıkarıp aşağıdaki kodu kendinize göre uyarlayınız. Ayrıca sadece .htaccess üzerinden kodu ekleyip diğer yönlendirmelerinizi kaldırınız. Veya bu kodu kullanmayıp wordpress kullanmanız nedeni ile really simple SSL pluginini kullanabilirsiniz.
          ——————————————————————————————-
          RewriteEngine On
          RewriteCond %{HTTP_HOST} !^www\.sitenizinadi\.com
          RewriteRule (.*) https://www.sitenizinadi.com/$1 [R=301,L]

    1. Merhabalar Nejat Bey ;
      Yakın zaman içerisinde makalemi yeniden düzenleyeceğim. Windows plesk konusunda ise yukarıdaki web.config kodunu kullanabilirsiniz. Lakin plesk panel üzerinde Barındırma ayarları > SSL/TLS destekli (işaretli) > HTTP’den HTTPS’ye sabit SEO güvenli 301 yeniden yönlendirmesi (işaretli) bu kısmı aktif ettiğinizde panelin özelliği gereği otomatik rewrite’ı yapmaktadır. Ek olarak şu bilgiyi paylaşmakta fayda var, hem web.config üzerinden rewrite hemde paneldeki 301 yönlendirmesi yapıldığı taktirde hata oluşacaktır. Ekran oluşan hata ” Bu site bir çok kez yönlendirildi” hatasına dönüşecektir. Dolayısıyla tek bir kere rewrite yapmak yeterli olacaktır. Yorumunuz içinde ayrıca teşekkür ederiz.

  3. Merhaba https://nfsbelgelendirme.com adresinde gün içerisinde zaman zaman too many redirect hatası alıyoruz. ssl için herhangi bir eklenti kurulumu yapmadık, site adresini gösterdiğiniz şekilde panel ayarlarından https:// olarak güncelledik, .htaccess dosyasına da
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.nfsbelgelendirme\.com
    RewriteRule (.*) https://www.nfsbelgelendirme.com/$1 [R=301,L]
    olarak ekleme yaptık. Fakat bir türlü düzelme olmadı. Gün içinde bir açılıyor site bir açılmıyor. Natro’nun cache eklentisi bu duruma neden oluyor olabilir mi? Eğer öyle ise çözüm öneriniz nasıl olur?

    1. Emre Bey Selam,
      nfsbelgelendirme.com adlı siteyi kontrol ettiğimde yönlendirmede bir problem görülmüyor. Fakat SSL bazlı bir hata tespit ettim. Dolayısıyla hata detayı için bize ulaşabilirsiniz. Ek olarak yeniden SSL’i güncellemek faydalı olacaktır. Bize destek@natro.com üzerinden ulaşıp durumu belirttiğiniz taktirde yeniden kurulum yapılacaktır.

  4. Paylaşım için çok teşekkür ederim. Vbulletin 3.8.8 alpha sürümünde bu işlem nasıl gerçekleşmeli? Bir takım değişimler yaptım. Ancak sitenin bazı bölümleri için hala güvenli değil uyarısı alıyorum. Yani sitenin genel URL’si https olarak değişse de sitede hala http’li URL’ler var. Resimler gibi. Tüm URL kaynaklarını toptan nasıl https yapabilirim ? Saygılar.

    1. Hakan Bey Selam,
      Vbullettin yazılımı hakkında açıkcası pek bir bilgim bulunmuyor. Fakat bu tür durumlarda WordPress yazılımı ile örnekleyerek anlatabilirim. WordPress ‘de bu durumu yaşadığımda veritabanını indirip notepad ++ ile açıp HTTP’li satırları HTTPS olarak replace edip düzenleyebiliyorum. Yine bu mantığı Vbulletin içinde kullanmak işe yarayabilir. Yada alternatif olarak tüm kod satırlarını notepad ile açıp oradaki satırları da kontrol etmekte fayda var. Bu işlem yapılırken tavsiyem ilk önce yedeğinizi alın her hangi bir aksaklıkta tekrar dosyayı geri aktarabilme imkanınız bulunsun.

  5. Bilgiler için teşekkürler. destek@natro.com dan verdiler bu bağlantıyı ve çok işime yaradı…. .htaccess dosyasında aşağıdaki kodu nasıl birleştirebilirim.

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^siteadi.com.tr [nc]
    RewriteRule ^(.*)$ https://www.siteadi.com.tr/$1 [R=301,L]

    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

    1. Eren Bey Merhaba ;

      .htaccess dosyasına direk yukarıdaki kodu müsait bir yere yerleştirebilirsiniz. Ama tabiki site adı yazan kısımları kendi siteniz ile değiştirmeyi unutmayınız. 🙂

  6. Merhaba, bilgi için teşekkürler, bilgi bilgidir, virtuemart sepette ürün çıkarma eklemede güvenli değil uyarıları alıyordum,ingilizce sayfalardan birinde https den kaynaklandığını okudum, o sırada sizi buldum ve joomla yapılandırmadan https i seçtim, seçmez olaydım, tüm site bağlantıları gitti, administrator dan da giremiyorum, internet explorer da denedim olmadı, ne yapmalıyım? Yardımcı olursanız sevinirim

    1. Yücel Bey Merhaba ;

      Sorunu tam net görmeden detay paylaşmak zor fakat tahminim ve yazınızdan anlaşılacağı üzere zaten bir HTTPS yönlendirmeniz vardı ama sadece sepet işlemlerinde görülmüyordu demek istiyorsunuz sanırım. Öncelikle yaptığınız değişikliği admin üzerinden temanı ve pluginlerinizi devre dışı bırakarak girişi yapıp değişikliği geri alınız. Sepet aşamasında hangi kısımda problem yaşıyorsanız, chrome üzerinden CTRL+U komutlarını kullanarak açılan sekmede CTRL+F ile ” HTTP:// ” kısmını sorgulatınız. Sayfa üzerinde bir kod HTTP olarak istek alıyor ise bu probleme neden olur kodu tespit ederek HTTP:// olarak değiştirdiğinizde problemin çözülmüş olması gerekmektedir.

        1. Yunus Bey Merhaba ;

          Öncelikle hatayı incelememiz gerekmektedir. Bir çok kez yönlendirildi hatası alınıyor ise tüm rewrite’ları kaldırmak gerekecektir. Ama 500 hatası alınıyor ise sitenin error_log dosyasının son satırını incelemek gerekecektir. Dilerseniz destek@natro.com‘a mail iletmeniz halinde detaylı inceleme sağlanabilir.

    1. Emre Bey Merhaba ;

      Php’ de linux alt yapısı olduğu için en sağlıklısı anadizinde .htaccess dosyası ile yapılması daha mantıklıdır. Tabi bu işlemi bazı web management’lar sayesinde rewrite’da yapılabilmektedir.

    1. Atacan Bey Merhabalar ;

      FTP üzerinden ”.htaccess” adında bir dosya oluşturup üzerine yukarıda paylaşmış olduğum kodlar ile işleminizi yapabilirsiniz. Ya da alternatif olarak masaüstünüzde ”.htaccess” olarak not defteri oluşturup ardından hazırlayıp sürekle bırak mantığı ile yine anadizine yükleyebilirsiniz.

  7. http den https ye nasıl yönlendirme yapmam gerekiyor lütfen bana yardımcı olur musunuz? teşekkürler

    1. Melek Hanım Merhaba ;

      Yukarıdaki makalemizi tekrar gözden geçirmenizi rica ederiz. Değerli yorumunuzu paylaşmış olduğunuz blog yazısı bu konuyu anlatmaktadır. Takıldığınız kısımda ise buradan bilgi paylaşımı yapabilirsiniz.

Kurban Bayramına Özel %70 Hosting İndirimini Kaçırmayın! | Son Gün 3 EylülFırsatı Yakala
+