20 Aralık 2014 Cumartesi

Web Sitesi Yönlendirme


Her web tasarımcısının yada geliştiricisin illaki web sitesini yönlendirme ile ilgili bir işi olmuştur.
Peki websitesi yönlendirme işi kaç farklı şekilde ve nasıl yapabiliriz.

Html Meta Tag İle Websitesi Yönlendirme
<meta http-equiv="refresh" content="0; URL='https://websitesi.com'" />

content seçeneği yönlendirmenin ne kadar süre sonra yapılacağını bildirir. Bu işlemi yaparken tırnak işaretlerine dikkat etmenizde fayda var.

Meta tag ile yönlendirmek en kolay yöntem olabilir ama bir çok browser meta tag yönlendirmesinde size sorun yaşatabilir. Yani kullanıcı siteye girdiği zaman sieye hemen yönlenmeye başlamaz ve kullancı anlık olarak siteyi görür. Bu her browser için geçerli değildir fakat kullanıcıyı ciddi anlamda rahatsız eden bir durum.



Javascript İle Websitesi Yönlendirme
Javascript meta tag'e göre daha güvenilir ve websitesi yönlendirmeyi bir kaç yöntemle yapabiliriz. En çok kullanılan yöntemler:

  1. window.location = "http://websitesi.com";
  2. window.location.href = "http://websitesi.com";
  3. window.location.replace = "http://websitesi.com";

Javascript'in de neden olduğu sorunlar var. Bunlardan bazıları hangi internet tarayıcısının nasıl tepki vereceğini bilemeyiz. Diğer bir sorun javasricpt'in browserda etkin olması gerekir. Modern broserlarda javascript etkin olduğunu hepimiz biliyoruz fakat kullanıcı tarafında  disabled edilirse yönledirme işleminiz başarısız olacaktır.

Apache İle Websitesi Yönlendirme
.htaccess ile yönlendirme en çok kullanılan yöntemlerden biri.

Redirect 301 / http://www.websitesi.com

.htaccess kodu kullanırken dikkat etmemiz gereken en önemli husus serverda mod_rewrite özelliğinin enabled olması gerkeiyor. Zaten bir çok sunucu bunu default olarak default yapar ama eğer kapalı ise sunucu sağlayıcınızla bağlantıya geçmeniz yeterli olacaktır

NGNX İle Websitesi Yönlendirme

server {
  listen 80;
  server_name eski-websitesi.com;
  return 301 $scheme://yeni-websitesi.com$request_uri;
}

Lighttpd İle Websitesi Yönlendirme

Lighttpd server için kullanılan yönlendirme kodu:

server.modules  = (

  "mod_redirect"
)

$HTTP["host"] =~ "^(www\.)?eski-websitesi.com$" {

  url.redirect = (
    "^/(.*)$" => "http://www.yeni-websitesi.com/$1",
  )
}

PHP ile Websitesi Yönlendirme

Php yönlendirmesini header fonksiyonu ile kolay şekilde yapmak mümkün:

<?php
  header('Location: http://www.websitesi.com/', true, 301);
  exit();
?>

true ve 301 parametreleri isteğe bağlı kullanma zorunluluğu yok. true kodu bir önceki header'ın değiştiğini doğruluyor.

Node.js İle Websitesi Yönlendirme

writeHead metodu ile yönledirme işlemini yabiliriz:

var http = require("http");

http.createServer(function(req, res) {
  res.writeHead(301,{Location: 'http://websitesi.com'});
  res.end();
}).listen(8888);

SONUÇ

Websitesi yönlendirme işlemini html meta etiketini kullanarak yapmak en asit yönetem olabilir. Özellikle fron-end geliştiriciler için ideal. Eğer yönlendirme sizi için hayati önem taşımıyorsa javascript'en vazgeçmeyin. PHP ile yönlendirme daha güvenli ve hızlı sonuç verir. Direk sunucuya müdahale edip yönlendirmeyi Apache'den yani .htaccess ile yaparsanız daha kesin bir sonuç elde edersiniz 

2 yorum:

  1. biraz girafik katılsaydı konuyu anlamam daha iyi yardımcı olacaktın.

    YanıtlaSil
  2. en yakın zamanda editleyerek görsel katmaya çalışırım

    YanıtlaSil