subdomain auslesen und verarbeiten

nijo1

Grünschnabel
also bei meinem anbieter kann ich unbegrentz subdomains haben, es funktioniert auch mit welchen die ich nicht gespeichert habe. so aber nun die frage wie kann ich die auslesen, da ich vor habe eine chat community zu schreiben möchte ich das man durch eingabe von username.domain.de auf das profil kommt.

gibts da irgend wlche scripte dafür?
 
Hi nijo1 ;)

Ich hatte mir mal selbst für die in meiner Signatur veröffentlichten Seite, die Arbeit gemacht und folgendes Script erstellt.

Dies einfach in die index.php einbinden, welche im Root-Ordner der Domain liegt.

PHP:
for($i = 10 ; $i >= 0 ; $i--){

Mit der FOR-Schleife lese ich bis zu 10 Parameter aus der Domain aus, welche du natürlich auch noch erweitern kannst.

Also bei mir läuft das alles Problemlos.

Der Domaincheck ist von mir mal in paar langweiligen Minuten eingebaut wurden, aber nicht mehr in verwendung. Vielleicht kannst du ihn ja aber noch gebrauchen. ;)

PHP:
if($_SERVER[HTTP_HOST] == 'localhost'){

	$domain = 'localhost';
	
}else{

$domain_parameter = explode(".",$_SERVER[HTTP_HOST]);

for($i = 10 ; $i >= 0 ; $i--){

if($domain_parameter[$i] != NULL){

	if($tld == NULL){
		$tld = $domain_parameter[$i];
		$i--;
		$domain_save = $domain_parameter[$i];
		$domain = $domain_save.".".$tld;
		$i--;
	$smarty->assign("domain",$domain);

	if(!$domain_ok OR !$domain_check){	

	$check = mysql_fetch_array(mysql_query("SELECT domain FROM domain WHERE domain='".mysql_real_escape_string($domain)."'"));
	
/*		if($check['domain'] == $domain){
	
		$domain_ok = 1;
	
		}else{
	
		$domain_ok = NULL;
	
		echo "<center>Diese Seite wurde von einer nicht genehmigten Domain aufgerufen.<br><br>Bitte verst?ndigen Sie den Administrator per E-Mail unter <a href='mailto:********@*******.de'>********@*********.de</a>.<br><br>Sie gelangen zu der gew?nschten Seite ?ber folgenden Link: <a href='http://www.zur-auktion.de'>www.zur-auktion.de</a></center>";
		exit;
		
		}*/

	}
}

$id_search = explode("_",$domain_parameter[$i]);

if($id_search['0'] == "id"){

	$id = $id_search['1'];
	
}

	if($domain_parameter[$i] != 'www'){
	
	if(!$get_user AND !$get_domain){
		
		$user_array = mysql_fetch_array(mysql_query("SELECT user,domain FROM user WHERE user='".mysql_real_escape_string($domain_parameter[$i])."' AND domain='".mysql_real_escape_string($domain)."'"));
		
			$get_user = $user_array['user'];
			$get_domain = $user_array['domain'];

	}
	
	if(!$get_auktion AND $get_user OR !$get_auktionshaus AND !$get_user){
		$auktion_array = mysql_fetch_array(mysql_query("SELECT name2 FROM auktionshaus WHERE name2='".mysql_real_escape_string($domain_parameter[$i])."' AND aktiv=1"));
		if(!$get_auktion AND $get_user){
			$get_auktion = $auktion_array['name2'];
		}elseif(!$get_auktionshaus AND !$get_user){
			$get_auktionshaus = $auktion_array['name2'];
		}
	}
	
	if($get_auktionshaus AND $get_user){
		$auktion_array = mysql_fetch_array(mysql_query("SELECT name2 FROM auktionshaus WHERE name2='".mysql_real_escape_string($domain_parameter[$i])."' AND aktiv=1"));
		$get_auktion = $get_auktionshaus;
		$get_auktionshaus = NULL;
	}

	if(!$get_pages){
	
		$pages_array = mysql_fetch_array(mysql_query("SELECT page, page_title, pfad FROM page WHERE page='".mysql_real_escape_string($domain_parameter[$i])."'"));
		
		$get_pages = $pages_array['page'];
		$smarty->assign("site_title",$pages_array['page_title']);
		
		if($pages_array['pfad']){
			include($pages_array['pfad']);
		}
	}
	
	}
	
}
}
}

Dies hab ich sogar noch mit dem davor eingebundenen auslesens der Verzeichnisstruktur und der $_GET[''] Variablen verbunden.

PHP:
$parameter = NULL;
$parameter = explode("/",$_SERVER['REQUEST_URI']);

$abc = NULL;

$i = 2;

while($parameter[$i] != NULL){

$i2 = $i;
$i++;

${"get_2[".$parameter[$i2]."]"} = $parameter[$i];
${"get_".$parameter[$i2]} = $parameter[$i];

$i++;

}

if(!$get_user) $get_user = $_GET['user'];
if(!$get_domain) $get_domain = $_GET['domain'];
if(!$get_pages) $get_pages = $_GET['pages'];
if(!$get_reg_id) $get_reg_id = $_GET['reg_id'];
if(!$get_auktion) $get_auktion = $_GET['auktion'];
if(!$get_images) $get_images = $_GET['images'];
if(!$get_auktionshaus) $get_auktionshaus = $_GET['auktionshaus'];
if(!$get_angebot) $get_angebot = $_GET['angebot'];

Ich denke mal, dass wird genau das sein, was du suchst oder? ;)

Gruß Matze202.
 
Du kannst es ganz einfach so machen.

PHP:
#index.php
define('SERVER_DOMAIN', 'deine_domain.de');

$subdomain = $_SERVER['HTTP_HOST'];
$subdomain = eregi_replace("\.".SERVER_DOMAIN, "", $subdomain);
$subdomain = eregi_replace("www\.", "", $subdomain);
$subdomain = strtolower($subdomain);

if($subdomain=="www" OR $subdomain==SERVER_DOMAIN){
   # Hier kommt nun dein Inhalt der normalen Domain.
}else{
   # Hier kommt nun dein Inhalt der  Subdomains.
}

Gruss
 
Zuletzt bearbeitet von einem Moderator:
PHP:
$domain = 'example.com';
if (isset($_SERVER['HTTP_HOST']) && preg_match('/^((?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)*)'.preg_quote($domain).'$/', strtolower($_SERVER['HTTP_HOST']), $match)) {
	// var_dump($match);
}
 
Zurück