Bir çok kişi aktif olarak tumblr kullanarak blog dünyasına adım atıyor. Tumblr blog kurulumunu ve öğrenmeyi basitleştirdiği için Wordpress, Drupal gibi sistemlerden önce giriş seviyesindeki kullanıcıların favorisi olmuş durumda.

Ancak zamanla blog büyüdükçe ve ünlendikçe onu blogismi.tumblr.com adresinden kurtarıp kendi aldığınız bir alan adına kurmak isteyebilirsiniz. Eğer blogunuzu www.blogismi.com altına taşıyacaksanız farklı, www.alanadi.com/blog gibi bir adrese taşıyacaksanız ayrı bir yöntem izlemeniz gerekiyor.

Alan adına yönlendirme

Bu kısım aslında tumblr tarafından detaylıca anlatılmış. Öncelikle alan adınızı aldığınız arayüzün kontrol paneline giriş yapmanız lazım. Buradan alan adınızın yapısına göre DNS yönlendirme şeklini ayarladıktan sonra tumblr hesabınıza girip yönlendirilmesini istediğiniz blog’un ayarlarını düzenlemeniz lazım. Sağolsun tumblr bunu bizim için Türkçe olarak yazmış.

Alan adı altındaki bir dosyaya yönlendirme

İşte işin burası ince işçilik ve biraz kod yazmayı gerektiriyor. Örneğin tumblr altında 3 farklı blogunuz var ve bunların her birini aldığınız alan adı altında kullanmak istiyorsunuz (Ör: alanadi.com/blog1, alanadi.com/blog2, alanadi.com/blog3). Şimdi alanadi.com/blog1 için ne yapmamız gerektiği üzerinden bu süreci anlatalım.

1. Sunucu hizmeti

Malesef bu yönlendirme için sunucu hizmeti de satın almanız lazım, tumblr sadece direk alan adlarındaki yönlendirmeleri alıyor. PHP desteği olan bir sunucu lazım olacak.

2. Sunucu kodları

Sunucunuzun index sayfasının durduğu dosyanın altına blog1 adında bir dosya açıyoruz. Bu dosyanın içine de iki tane yeni dosya yaratıyoruz: proxy.php ve .htaccess.

<?php

$from = "blogismi.tumblr.com";
$unto = "alanadi.com/blog1";

// Because Dreamhost doesn't do remote fopens, and to get content-type
function fetch($url) {
  $curl = curl_init();
  $timeout = 5; // set to zero for no timeout
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        $html = curl_exec($curl);
  $content_type = curl_getinfo($curl, CURLINFO_CONTENT_TYPE);
  curl_close($curl);
  return array($html, $content_type);
}

list($html, $content_type) = fetch($_GET['url']);

// Fix root-relative links etc.
$html = preg_replace('/\b(href|src|rel)="\//', '$1="http://'.$unto.'/', $html);
// Replace the old URL with the new
$html = str_replace($from, $unto, $html);
// Fix the iframe-url
$html = str_replace("src=http%3A%2F%2F".$unto, "src=http%3A%2F%2F".$from, $html);
$html = str_replace("url=http%3A%2F%2F".$unto, "url=http%3A%2F%2F".$from, $html);

header("Content-type: $content_type");
echo $html;

?>
RewriteEngine On
RewriteBase /blog1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$  proxy.php?url=http://blogismi.tumblr.com/$1
3. Tumblr html kodu

Tumblr blogunuzu açıp sağ üstte beliren temayı düzenleye basıyoruz. Yanda çıkan menüden HTML düzenleye basıyoruz. Açılan döküman içinde </head>  kısmına gidip ondan hemen öncesine aşağıdaki kodu ekliyoruz:

<script type="text/javascript">
    if (location.host == 'blogismi.tumblr.com') location.replace(location.href.replace('blogismi.tumblr.com', 'alanadi.com/blog1'));
</script>

Bu kodu eklediğiniz yerin hemen üzerinde </style> hatta ‘Custom CSS’ diye bir yer görmeniz lazım. İşte </style> hemen öncesine aşağıdaki kodu ekliyoruz:

.tumblr_controls {
	visibility: visible!important;
	height: auto!important;
	max-height: 36px;
	width: auto!important;
	max-width: 360px;
}

Barış Altop
Barış Altop
Matematik tutkusunu yazılım sanatına dönüştürmeyi hedef seçmiş, bilgisayar mühendisliği doktora öğrencisi. Biraz Apple tutkunu, ama teknoloji düşkünü yazılımcı.