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:
-
RewriteEngine On
-
RewriteCond %{HTTP_HOST} ^([^\.]+)\.site\.net$ [NC]
-
RewriteCond %1 !^(www|ftp|mail)$ [NC]
-
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.
-
$cpanelkadi = ''; // cpanel kullanıcı adınız
-
$cpanelparola = ''; // cpanel parolanız
-
$cpanel_sablon = 'rvblue'; // cpanel şablon adı
-
$alanadi = ''; // altalanadı açılacak alanadı
-
{
-
$altalan= $_POST["altalan"];
-
}
-
else
-
{
-
?>
-
-
<form method="post"> Altalan (Subdomain):
-
-
<input name="altalan" /> <input type="submit" value="Yarat" /> </form>die();
-
}
-
$talep = "/frontend/$cpanel_sablon/subdomain/doadddomain.html?rootdomain=$alanadi&domain=$altalan&dir=public_html%2F$altalan";
-
// public_html root(kök) klasörüdür, sunucunuza göre kök klasör ismi değişkenlik gösterebilir.
-
$sonuc = alanYarat($cpanelkadi,$cpanelparola,$talep);
-
//echo strip_tags($sonuc);
-
function alanYarat($cpanelkadi,$cpanelparola,$talep)
-
{
-
if(!$soket)
-
{
-
}
-
$yetkilendir = "$cpanelkadi:$cpanelparola";
-
$in = "GET $talep\r\n";
-
$in .= "HTTP/1.0\r\n";
-
$in .= "Host:localhost\r\n";
-
$in .= "Authorization: Basic $parola\r\n";
-
$in .= "\r\n";
-
{
-
}
-
return $sonuc;
-
}
-
?>

Ç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..
Eyvallah Sağolasın ama nedense,
Parse error: syntax error, unexpected T_STRING in sub.php on line 3 hatası verdi…
Burdan notepade daha sonra php ye kopyalayın. Yoksa tırnaklar bozulur.
Ş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
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.
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.
[...] 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 [...]
[...] 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 [...]
[...] 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 [...]
[...] 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 [...]
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
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.
http://javam.org/wp-content/uploads/2008/07/altalan.txt
[...] 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 [...]