Sie können sich wahrscheinlich verwenden, um die $_SERVER
Superglobals in PHP (die Dokumentation lesen: http://php.net/manual/en/reserved.variables.server.php vor allem die $_SERVER['HTTP_HOST']
), um herauszufinden, welche Sub-Domain die aktuelle ist (falls vorhanden)
Der Rest ist wahrscheinlich einfach, zum Beispiel ein switch-Anweisung auf dem aktuellen Sub-Domain abhängig wie
switch($_SERVER['HTTP_HOST']) {
case 'city1.site.com': $abc=1; break;
case 'city2.site.com': $abc=2; break;
default: $abc=0; break;
}
Update: die Idee ist, für alle Sub-Domains den gleichen Code zu verwenden (Sie wollen nicht eine beliebige Anzahl von Kopien halten) und zwingen unterschiedliches Verhalten durch Code. vielleicht können Sie sogar eine "Catchall" -Domäne einrichten.
Also, wenn Sie Setup Ihre Domain site.com
in Ihrem Server htdocs/site.com
Verzeichnis zu leben, verwenden Sie das gleichen Verzeichnis für alle anderen auch Domains.
an verschiedene Ausgänge für Ihre Websites zu erreichen, können Sie die $abc
Variable oder eine andere var dann überprüfen (vielleicht sogar $_SERVER['HTTP_HOST']
)
if(strpos($_SERVER['HTTP_HOST'],'.site.com') !== FALSE) {
$subdomain = str_replace('.site.com','',$_SERVER['HTTP_HOST']);
}
else {
$subdomain = null;
}
// now 'city1' is in $subdomain
zu tun, nachdem Sie die Sub-Domain extrahiert haben, können Sie SQL-Abfragen oder die laufen wie mit diesem Wert (wenn Ihre Datenbank entsprechend eingerichtet ist).
Vielen Dank für Tutorial, aber was ist mit unerwünschten Subdomains wie nothing.site.com? Wie verhindern sie, dass sie angezeigt werden, insbesondere nicht von Google gescannt werden? – Ilya
Wenn Sie eine Stadt haben, die nicht existiert, werfen Sie einen 404-Fehler, um Google mitzuteilen, dass diese Seite nicht existiert. Sie müssen sitemap.xml-Dateien erstellen, um Google mitzuteilen, was indexiert werden soll. –
Ok, ich denke, 404 wird es tun! Vielen Dank! – Ilya