Solltet Ihr "Wildcard Sub-Domain" haben könnt Ihr ganz einfach und mit wenig Aufwand Subdomains mit PHP und MySQL erstellen.
Tabelle Erstellen
Als erstes müsst Ihr eine Tabelle erstellen:
Code:
CREATE TABLE `subdomain-php` (
`adresse` TEXT NOT NULL ,
`weiterleitung` TEXT NOT NULL
) TYPE = MYISAM ;
Adresse ist dabei die Subdomain: *.deinewebdomain.de und in der Weiterleitung kommt dann die Adresse der richtigen Seite.
Config für SQL erstellen
Damit hinterher auch zur Datenbank verbunden wird, erstellen wir eine Config:
config.php
Code:
<?php
#config.php
$CONFIG[0]="localhost"; # Datenbankserver
$CONFIG[1]="user"; # Datenbankuser
$CONFIG[2]="passwort"; # Datenbankpass
$CONFIG[3]="datenbank"; # Datenbank
$Verbindung=mysql_connect($CONFIG[0],$CONFIG[1],$CONFIG[2]);
mysql_select_db($CONFIG[3],$Verbindung);
?>
Abfrage der Subdomain
Solltet Ihr "Wildcard Sub-Domain" haben, werden alle Adressen: *.deinewebdomain.de auf deine Hauptseite (Index) geleitet. Das heiße, dass der Code für die Subdomain in die Datei index.php gehört.
Ganz nach oben muss die Abfrage:
index.php
Code:
<?php
#index.php
include "config.php";
$domain = "deinewebdomain.de"; #Deine Domain
$subdomain = $_SERVER['HTTP_HOST'];
$subdomain = eregi_replace(".".$domain, "", $subdomain);
$subdomain = eregi_replace("www.", "", $subdomain);
$subdomain = strtolower($subdomain);
if($subdomain=="www" OR $subdomain==$domain){
# Hier kommt nun dein Inhalt der normalen Domain.
# Also alles was sonst auf der Index Seite von dir ist
}else{
$sql = "SELECT * FROM subdomain-php WHERE adresse='".$subdomain."'";
$abfrage = mysql_query($sql) OR die("Konnte Datenbank nicht benutzen.<br>Fehlermeldung: ".mysql_error());
$anzahl=mysql_affected_rows();
while($daten = mysql_fetch_assoc($abfrage)){
$weiterleitung = $daten['weiterleitung'];
}
if($anzahl>0){
header('Location: '.$weiterleitung);
}else{
echo "Diese Subdomain existiert nicht!";
}
}
?>
Als erstes wird die Datei "config.php" eingefügt. Nun bestimmen wir die Domain und PHP teilt die Domain auf.
Wir prüfen ob die Subdomain www oder die eigene Domain ist. Da drunter fügt Ihr euren eigenen Inhalt ein. Sollte die Subdomain nicht www sein oder die eigene Domain, prüfen wir die Datenbank ob die Subdomain eingefügt wurde. Wenn sie vorhanden ist, wird man weitergeleitet, wenn nicht gibt er den Error: "Diese Subdomain existiert nicht!" aus.
Soweit der Code und die Tabelle. Bei Bedarf könnt Ihr noch ein kleinen Admin bereich anlegen, um Subdomains hinzuzufügen.
Adminbereich (optional)
Hier der Code für den Adminbereich. Ich glaube das sich das selber erklärt:
Code:
<?php
# admin.php
include "config.php";
if($_POST['submit']=="true"){
$name = $_POST['name'];
$weiter = $_POST['weiter'];
$sql = "INSERT INTO user (adresse,weiterleitung) VALUES ('$name','$weiter')";
$Ergebnis=mysql_query($sql);
if($Ergebnis){
echo "Subdomain <b>".$name."</b> eingefügt!";
echo '
<form action="admin.php" method="post">
<input type="hidden" name="submit" value="true">
<table width="100%">
<tr>
<td>Subdomain</td><td><input type="text" name="name" value=""></td>
</tr>
<tr>
<td>Weiterleitung</td><td><input type="text" name="weiter" value=""></td>
</tr>
<tr>
<td><input type="submit" value="Anmelden" id="submit"></td></tr>
</table>
</form>';
}else{
echo "Error!";
}
}else{
echo '
<form action="admin.php" method="post">
<input type="hidden" name="submit" value="true">
<table width="100%">
<tr>
<td>Subdomain</td><td><input type="text" name="name" value=""></td>
</tr>
<tr>
<td>Weiterleitung</td><td><input type="text" name="weiter" value=""></td>
</tr>
<tr>
<td><input type="submit" value="Anmelden" id="submit"></td></tr>
</table>
</form>';
}
?>
Das wars von mir, viel Spass damit und leute keine Angst, der Code ist wirklich von mir /:-)