Blog sitelerinin yaptığı tarzda hayati.domain.com veya kemal.domain.com şeklindeki subdomainlerin çalışma mantığını öğrenelim.
Kemal: Merhaba hayati abi nasılsın iyisin inşallah?
Hayati: İyiyim Kemalcim sen nasılsın?
Kemal: Benim canım sıkkın abi biraz!
Hayati: Hayırdır kemalcim derdin nedir?
Kemal: Abi sitemin sınırlı üyeleri var, fakat ben sitemin daha fazla kişiler tarafından ziyaret edilmesini istiyorum. Buna bütçem el vermiyor, sende bunu biliyorsun zaten. Bende internette araştırma yaptım, sitemin hitini nasıl arttıra bilirim diye. O esnada Otomatik subdomain oluşturma diye birşey gözüme ilişti ceviz forumda. Fakat bir türlü yapamadım, yapa bilseydim eğer sitemin reklamını ben değil subdomain verdiğim kişiler kendi özel sayfalarının reklamını yaparken benim siteminde hiti artacaktı ama ben bunu yapamadım. Moralim ona bozuk.
Hayati: Dert ettiğin şeye bak kemalcim! Ben sana yardımcı olayım.
Kemal: Abi cidden yardımcı olabilirmisin?
Hayati: Şimdi bir bilgisayar başına oturalım ve ben sana bunu nasıl yapacağını anlatayım.
Hayati ve Kemal bilgisayar başına otururlar ve Hayati başlar anlatmaya.
Kemalcim öncelikle kendimize deneme.php diye bir php dosyası oluşturuyoruz ve içerisine şu koddları ekliyoruz.
<?php
print $_GET["inc"];
?>
Bu oluşturduğumuz dosyada explorere
http://ceviz.net/deneme.php?inc=kemal yazdığımız zaman ekran çıktısının kemal olması gerekiyor. Bu işlemi yaptıktan sonra denemesini yapıyoruz çıktıyı düzgün bir şekilde veriyormu sistem bize.
Kemal: Evet abi oldu düzgün bir şekilde veriyor.
Hayati: Kemalcim panik yapma biraz sakin ol sadece anlattıklarımı dinle;
Daha sonra bir adet .htaccess dosyası oluşturup içerisine şu kodları ekliyoruz.
RewriteEngine on
RewriteCond %{HTTP_HOST} !^
www.ceviz.net
RewriteCond %{HTTP_HOST} ^([^.]+).ceviz.net
RewriteRule ^$ /deneme.php?inc=%1 [L]
Not: .htaccess dosyasının baş kısmında bulunan nokta işareti bazı sunucularda ftp den görünmez o yüzden kontrol panelinizin File Menager veya Dosya Yönetimi kısmından ulaşıp düzenleye bilirsiniz.
Kemalcim bu işlemide yaptıktan sonra şimdi geliyoruz. İşin zor gibi görünen fakat kolay olan kısmına.
Şimdi Domainimizin Kontrol paneli kısmına giriş yaparak, Dns Settings Butonuna tıklıyoruz.
Daha sonra, Add Record butonuna tıklıyoruz.
Ve bu ekranda gördüğün gibi
Record type kısmını A Olarak seçiyorum
Enter Domain Name kısmınada * işareti koyuyorum.
Enter IP Adres kısmına domainimizin bulunduğu serverin ip adresini yazıyoruz. (İp adresini bilmiyorsak Başlat -> Çalıştır -> cmd yazıp enter tuşuna basarak çıkan siyah ekrana ping domainadiniz.com yazarak ip adresinizi öğrene bilirsiniz.)
Kemal: Abi neden yıldız işareti koyuyoruz neden herhangi birşey yazmıyoruz.
Hayati: Kemalcim * işaretini genel olarak kullanıyoruz. Yani domainin baş kısmına ne yazılırsa yazılsın alt kısımda bulunan ip adresine yönlendir olarak kullanıyoruz. Eğer buraya sabit başka birşey yazarsak amacımıza ulaşamayız. Sen beni dinlemeye ve izlemeye devam et.
Bu işlemler bittikten sonra yaptığımız işlemler olmuşmu olmamışmı diye tekrardan kontrol ediyoruz.
Explorer kısmına
http://kemalcim.ceviz.net yazıyoruz ve enter tuşuna basıyoruz. Karşımıza plesk sayfası çıkıyor.
Kemalin suratında bir burukluk.
Hayati: Kemalcim canını sıkma daha yapacağımız işlemler sona ermedi. Sadece bu aşamaya kadar olan işlemleri kontrol ediyoruz. karşımıza plesk ekranının çıkması doğru yolda olduğumuzu gösteriyor. Şimdi devam edelim.
Ftp adresimize bağlanıyoruz ve içerisinde conf klasörünü görüyoruz. Fakat bu kısımdan conf klasörüne erişim iznimizin olmadığını görüyoruz.
Ve Servere bağlanıp /srv/www/vhosts/ceviz.net/conf klasörüne giriş yapıyoruz ve bu kısımda httpd.include dosyasını pico -w httpd.include komutu ile açıyoruz. Daha sonra <VirtualHost sizin.ip.adresiniz:80> kısmını bulup alt kısmında ServerName ceviz.net:80″ yazanın alt kısmına ServerName *.ceviz.net ekliyoruz. Dosyayı ctrl + X komutu ile kapatıp yaptımız değişiklikleri kaydediyoruz.
ve /etc/init.d/apache2 restart diyerek Serverin apachesini restartlıyoruz. Ve işlemimiş bitmiş oluyor Hayırlı Olsun Kemalcim.
Not: Bu işlem Sonucunda yaptığımız işler gerçekleşmemiş ise serveri restartlayınız.shutdown -r now komutu ile.
Hayati: Şimdi kemalcim deneyelim bakalım sonuçlar nasıl doğrumu yapmışız.
http://hayati.ceviz.net ekrana çıkan yazı hayati demekki amacımıza ulaşmışız.
Kemal: Abi çok teşekkür ederim. fakat bir sorum daha olacak. Mesela ben üyelerime verdiğim bu sobdomainlerde subdomain içinde linkler açtırmak istiyorum örneğin;
http://ceviz.net/deneme.php?username=kemal&mod=mod1 bu linki
http://kemal.ceviz.net/mod1 şeklinde açmak istiyorum ne yapmam lazım bunun için?
Hayati: Kemalcim ozaman .htaccess içerisie gidip şu kodları ilave etmen gerekiyor.
RewriteEngine on
RewriteCond %{HTTP_HOST} !^
www.ceviz.net
RewriteCond %{HTTP_HOST} ^([^.]+).ceviz.net
RewriteRule ^([^./]+)$ /deneme.php?username=%1&mod=$1 [L]
ve yapmak istediğin işlem gerçekleşmiş olacaktır.
Kemal: Peki abişu linkin
http://ceviz.net/deneme.php?username...od1&is=islem bu linke
http://kemal.ceviz.net/mod1/islem2 dönüşmesini istiyorum ne yapmamız gerekiyor?
Hayati: Tekrar .htaccess dosyasını açıp içine şu kodları ilave etmen gerekiyor.
RewriteEngine on
RewriteCond %{HTTP_HOST} !^
www.ceviz.net
RewriteCond %{HTTP_HOST} ^([^.]+).ceviz.net
RewriteRule ^([^./]+)/([^./]+)$ /deneme.php?username=%1&mod=$1&is=$2 [L]
Kemal: Çok teşekkür ederim hayati abi ALLAH Razı olsun.
Hayati: Rica ederim kemalcim hayırlı uğurlu olsun ALLAH Razı Olsun demen yeterli.
Çalışan örnek bir sistem:
http://kemal.birdamla.net burdan bakabilirsiniz.
İyi Çalışmalar.