logo
  • Yazılar
  • Yorumlar
  • Popüler
  • RSS
Son Yazılar
  • Türkçe upper, lower ve ucwords fonksiyonları (utf-8) ...
  • Linux’un 17. Yılı ...
  • Firefox için CSS Transform’ları ...
Son yorumlar
  • prefabrik - Linux'un 17. Yılı
  • prefabrik - Sitenize proxy ile bağlananları t…
  • Fuat - Döviz kuru optimizasyonu
Popüler Yazılar
  • Başka siteden istediğiniz datayı alın (39)
  • Video: Smarty’e Giriş (19)
  • Otomatik Subdomain Yaratma (14)
RSS Beslemeleri
  • RSS
  • Yorumlar RSS
  • Geçerli XHTML

Otomatik Subdomain Yaratma

icon1 Posted by Altan Tanrıverdi in Linux, Php on 07 4th, 2007 |

Subdomain yaratma konusunda gelen taleplere cevaben hazırladığım kısa notları paylaşayım.

Herşeyden önce apache sunucusuna yönelik anlatacağım. Önümüzde 2 yol var: biri .htaccess, evet şu ünlü htaccess hep kaçtığınız ama artık tamam pes dediğiniz olay; diğeri ise php.

İlk olarak .htaccess ile çözüm: Bu tür çözümü yönlendirmeler için kullanıyoruz. Gerçekte yarattığımız bir subdomain yok aslında. İnceleyelim:

PLAIN TEXT
JavaScript:
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^([^\.]+)\.site\.net$ [NC]
  3. RewriteCond %1 !^(www|ftp|mail)$ [NC]
  4. RewriteRule ^.*$ http://www.site.net/profil.php?kullaniciadi=%1 [R,L]

Bu kod ile örneğin http://altan.site.com adresine gelecek talep, http://www.site.net/profil.php?kullaniciadi=altan adresine yönlendirilecektir. Böylece uzun ve şık durmayan urllerden kurtulmuş olacağız. Not: wildcard DNS host servisiniz tarafından aktif edilmiş olmalıdır. ^(www|ftp|mail) ifadeside yönlendirilmeyecek gerçek subdomainleri yazacağınız bölüm.

İkici yolumuz php. Bu sadece cPanel kullanılan sistemlerde çalışır. Ben hostgator kullanıyorum ve yıllardır bu kod sorunsuz işime yarıyor. Bu kod ile hem subdomaini yaratıyor hemde www klasörümüzde subdomain ile aynı ada sahip bir klasör yaratıyoruz. Subdomainde bu klasöre otomatik yönlendirilmiş oluyor.

// Kod çeşitli eleştirilerden sonra tekrar elden geçirildi ve optimize edildi. Ayrıca sonradan farkettiğim üzere klasör oluşturma sorunları yaratıyordu, bu sorunda giderildi.

PLAIN TEXT
PHP:
  1. header('Content-type: text/html; charset=utf-8');
  2. $cpanelkadi = '';   // cpanel kullanıcı adınız
  3. $cpanelparola = '';   // cpanel parolanız
  4. $cpanel_sablon = 'rvblue'; // cpanel şablon adı
  5. $alanadi = '';   // altalanadı açılacak alanadı
  6. if (isset($_POST["altalan"]))
  7. {
  8. $altalan= $_POST["altalan"];
  9. }
  10. else
  11. {
  12. ?>
  13.  
  14. <form method="post"> Altalan (Subdomain):
  15.  
  16. <input name="altalan" /> <input type="submit" value="Yarat" /> </form>die();
  17. }
  18. $talep = "/frontend/$cpanel_sablon/subdomain/doadddomain.html?rootdomain=$alanadi&amp;domain=$altalan&amp;dir=public_html%2F$altalan";
  19. // public_html root(kök) klasörüdür, sunucunuza göre kök klasör ismi değişkenlik gösterebilir.
  20. $sonuc = alanYarat($cpanelkadi,$cpanelparola,$talep);
  21. //echo strip_tags($sonuc);
  22. function alanYarat($cpanelkadi,$cpanelparola,$talep)
  23. {
  24. $soket = fsockopen('localhost',2082);
  25. if(!$soket)
  26. {
  27. print('Socket hatası');
  28. exit();
  29. }
  30. $yetkilendir = "$cpanelkadi:$cpanelparola";
  31. $parola = base64_encode($yetkilendir);
  32. $in = "GET $talep\r\n";
  33. $in .= "HTTP/1.0\r\n";
  34. $in .= "Host:localhost\r\n";
  35. $in .= "Authorization: Basic $parola\r\n";
  36. $in .= "\r\n";
  37. fputs($soket, $in);
  38. while (!feof($soket))
  39. {
  40. $sonuc .= fgets ($soket,128);
  41. }
  42. fclose( $soket );
  43. return $sonuc;
  44. }
  45. ?&gt;

14 Yorum

  1. avatar Fatih Günaydın:
    Temmuz 19th, 2007 | 03:11

    Çok sağol , buna benzer bir koda ihtiyacım olacaktı yakında , baya işime yarayacak…Bu arada siteni yeni keşfettim ve içeriği gayet iyi.tebrikler..

  2. avatar Mustafa:
    Ağustos 15th, 2007 | 13:13

    Eyvallah Sağolasın ama nedense,
    Parse error: syntax error, unexpected T_STRING in sub.php on line 3 hatası verdi…

  3. avatar Altan:
    Ağustos 15th, 2007 | 13:21

    Burdan notepade daha sonra php ye kopyalayın. Yoksa tırnaklar bozulur.

  4. avatar Altan:
    Ağustos 15th, 2007 | 13:27

    Şimdi baktımda notepaddede tırnaklar bozuluyor. Tırnakları düzgün şekilde değiştirin, ben de bu arada bu soruna çözüm olan bir WP eklentisi arayayım :)

  5. avatar ysbostan:
    Mayıs 22nd, 2008 | 21:05

    Bu kodu cok aradim benzerini belkdie aynilarini buldum calismamisti, tesekkur ederim bir de bunu deneyeyim.
    Kodlardaki sorun icin kendi blogumda kullandigim wp eklentisi ” iG:Syntax Hiliter ” oneririm.

  6. avatar Mete:
    Haziran 28th, 2008 | 13:51

    bu php sayfasını çalışması için nerey koyucaz ? public_html içinemi yoksa başka biryeremi ? tam nasıl olucak anlatırsanız sevirim.

  7. avatar Haberin Merkezi » Blog Archive » .htaccess ile otomatik subdomain oluşturma:
    Temmuz 17th, 2008 | 14:47

    [...] konuyla ilgili olarak Altan Tanrıverdi’nin yazısı okunmalıdır. Yazıda geçen kodlar bu sitede yer almaktadır. DNS ile ve httpd.conf için de [...]

  8. avatar OpsiyonBlog » Blog Archive » .htaccess ile otomatik subdomain oluşturma:
    Temmuz 17th, 2008 | 14:49

    [...] konuyla ilgili olarak Altan Tanrıverdi’nin yazısı okunmalıdır. Yazıda geçen kodlar bu sitede yer almaktadır. DNS ile ve httpd.conf [...]

  9. avatar 0 n 8 = ? » Blog Archive » .htaccess ile otomatik subdomain oluşturma:
    Temmuz 17th, 2008 | 15:19

    [...] konuyla ilgili olarak Altan Tanrıverdi’nin yazısı okunmalıdır. Yazıda geçen kodlar bu sitede yer almaktadır. DNS ile ve httpd.conf için de [...]

  10. avatar .htaccess ile otomatik subdomain oluşturma:
    Temmuz 17th, 2008 | 17:11

    [...] konuyla ilgili olarak Altan Tanrıverdi’nin yazısı okunmalıdır. Yazıda geçen kodlar bu sitede yer almaktadır. DNS ile ve httpd.conf için de [...]

  11. avatar vigo/bronx:
    Temmuz 18th, 2008 | 00:47

    işte “spagetti code” a mükemmel bir örnek… variable name’ler türkçe gibi ama tam diil. $satirlar ??? neyse daha fazla bişi demek istemiyorum. en azından bilgi amaçlı yazılmış dökümante edilmiş bişi. umarım daha “advance” konulara el atarsınız. saygılarımla

  12. avatar Altan Tanrıverdi:
    Temmuz 18th, 2008 | 01:08

    Spagetti kod kavramını yeni mi öğrendiniz Uğur bey?
    Yoksa Türkçe dersi mi alıyorsunuz?
    Advance(d?) konulardan birkaç örnek verirseniz bizi aydınlatmış olursunuz. Sonuç olarak oyun müptelası tiki arkadaşlarımızın görüşleri de bizim için çok önemli.

  13. avatar Altan Tanrıverdi:
    Temmuz 18th, 2008 | 02:59

    http://javam.org/wp-content/uploads/2008/07/altalan.txt

  14. avatar TurkAtesi.oRg ~ Internetin En Cix Mekanı » Blog Archive » .htaccess ile Otomatik Subdomain Oluşturma:
    Temmuz 20th, 2008 | 14:16

    [...] konuyla ilgili olarak Altan Tanrıverdi’nin yazısı okunmalıdır. Yazıda geçen kodlar bu sitede yer almaktadır. DNS ile ve httpd.conf için de [...]

Yorumla

Uyarı: Yorum onaya tabidir ve bu nede ile eklenmesi zaman alabilir. Tekrar göndermenize gerek yoktur.

Yazarlar

  • Altan Tanrıverdi
  • Paul Bakaus
  • Erhan Burhan
  • Tümay Çeber

Kategoriler

  • jQuery
  • Php
  • Linux
  • Json
  • Zend
  • Web 2.0
  • Kılavuzlar
  • Tanıtımlar
  • Konu Dışı

Dost Siteler

  • jQuery
  • jQuery Türkiye
  • jQuery UI
  • Ohloh
  • PHP
  • Zend
  • Zend Framework
  • Zend Türkiye
CopyLeft javam. GNU GPL. | Wordpress | Wordpress Türkiye | Lisanslı Tema: Elegant WPT | Sponsor: Türkiye Vitrin