kostenloser Webspace: lima-city


Geschrieben von dima53 am 16.06.2005, 20:27

Mit nur einer einzigen PHP-Datei könnt ihr (Sub-)Sub-Domains einrichten (Sub-)Subdomains Ihr könnt mit einem sehr simplen PHP-Code weitere (Sub-)Subdomains einrichten: Für die Weiterleitungen brauchen wir ein Array, in das wir die Subdomain und die Weiterleitung eintragen. Wir erstellen eine Weiterleitung auf http://bla.com und http://huhu.net. Als erstes geben wir die Subdomain (eigentlich Subdomain ohne Domain) und die Weiterleitung an. Code: $array = array("digi0","http://huhu.net","bla","http://bla.com"); Die eingegebene Adresse bekommen wir durch $_SERVER['SERVER_NAME']. $_SERVER ist ein von PHP automatisch gefülltes Array mit verschiedenen Inhalten. Code: $s_n = $_SERVER['SERVER_NAME']; Nun kommt die for-Schleife. Die Schleife läuft solange, bis wir den passenden Eintrag gefunden haben oder wir alle Einträge verglichen haben. Code: $endi = count($array)/2; for($i=0;$i<$endi;$i++) { Mit substr kann man einen bestimmten Teil eines Strings anzeigen lassen. Erster Paramater ist der String, zweiter Parameter ist der Startpunkt und der letzte gibt die länge an. Wir vergleichen also ob die Subdomain und die Adresse gleich sind. strlen() gibt uns dabei die Länge der Subdomain an. Das $i*2 ist dazu da, weil wir ja zwei zusammengehörende Einträge in einem Array haben. So wird immer der erste Eintrag eines Pärchens angezeigt. Code: $subd = substr($s_n,0,strlen($array[$i*2])); if($subd==$array[$i*2]) { $i*2 ist die Subdomain, also ist $i*2+1 die Weiterleitung. header("Location: <adresse>") bringt den Browser zum Weiterleiten auf <adresse>. Damit die For-Schleife nach dem gefunden Auftrag aufhört, benutzen wir exit(), das das ganze Script beendet. Falls aber nichts gefunden wurde, wird einfach auf index2.html weitergeleitet. Das ist dann der Fall, wenn nichts gefunden wurde. Code: $nmb = $i*2+1; header("Location: $array[$nmb]"); exit(); } } header("Location: index2.html"); Das ganze speichert ihr als index.php in das Hauptverzeichnis ab, dabei solltet ihr achten, dass ihr kein index.html habt, ansonsten bennent es einfach in index2.html um. Code: <? $array = array("digi0","http://huhu.net","bla","http://bla.com"); $s_n = $_SERVER['SERVER_NAME']; $endi = count($array)/2; for($i=0;$i<$endi;$i++) { $subd = substr($s_n,0,strlen($array[$i*2])); if($subd==$array[$i*2]) { $nmb = $i*2+1; header("Location: $array[$nmb]"); exit(); } } header("Location: index2.html"); ?> Falls jemand will, dass nur die Subdomain nach dem weiterleiten angezeigt wird, der soll einfach Code: header("Location: $array[$nmb]"); durch Code: echo '<FRAMESET border=0 frameSpacing=0 rows=* frameBorder=no> <frame name='.$array[$i*2].' src='.$array[$nmb].' noResize> </FRAMESET>'; ersetzen. So erzeugen wir ein Frame, dass man NICHT sehen kann. mfg Dima
Bewertung Anzahl
6
45,0 %
9 Bewertungen
5
20,0 %
4 Bewertungen
4
10,0 %
2 Bewertungen
3
10,0 %
2 Bewertungen
2
5,0 %
1 Bewertungen
1
10,0 %
2 Bewertungen

Über lima-city

Login