Wie erstelle ich eine Subdomain wie http://user.mywebsite.com ? Muss ich irgendwie auf htaccess zugreifen? Ist es tatsächlich einfach möglich, es über reinen PHP-Code zu erstellen, oder muss ich eine externe Sprache auf der Seite des Skriptservers verwenden?
An diejenigen, die geantwortet haben: Nun, sollte ich mein Hosting fragen, ob sie eine Art DNS-Zugang bieten?
wildcard subdomains
können, kann dies in erreicht werden.htaccess
. Siehe meine Lösung.Antworten:
Sie möchten einen benutzerdefinierten A-Datensatz erstellen .
Ich bin mir ziemlich sicher, dass Sie Platzhalter verwenden können, wenn Sie A-Datensätze angeben, mit denen Sie Folgendes tun können:
127.0.0.1 wäre die IP-Adresse Ihres Webservers. Die Methode zum tatsächlichen Hinzufügen des Datensatzes hängt von Ihrem Host ab.
Machen Sie es wie http://mywebsite.com/userWenn Sie , ist die Einrichtung viel einfacher, wenn dies eine Option ist.
Dann können Sie einfach eine .htaccess-Datei hinzufügen, die folgendermaßen aussieht:
Oben sind Benutzernamen auf die Zeichen az beschränkt
Die Umschreiberegel zum Abrufen der Subdomain würde folgendermaßen aussehen:
quelle
Die Funktion, nach der Sie suchen, heißt Wildcard-Subdomains . Sie müssen nicht für jede Subdomain DNS einrichten, sondern müssen stattdessen Apache-Umschreibungen für die Umleitung verwenden. Sie können hier ein schönes Tutorial finden , aber es gibt Tausende von Tutorials. Hier ist der notwendige Code aus diesem Tutorial:
Da jedoch die Verwendung von VirtualHosts erforderlich ist, muss diese in der httpd.conf-Datei des Servers anstelle eines lokalen .htaccess festgelegt werden.
quelle
Ich mache es ein bisschen anders als Mark. Ich übergebe die gesamte Domain und greife nach der Subdomain in PHP.
Dies ignoriert Bilder und ordnet alles andere meiner index.php-Datei zu. Also wenn ich gehe
Ich komme zurück
Dann explodiere ich in meinem index.php-Code einfach meinen Benutzernamen aus dem Hostnamen. Dies gibt mir schöne hübsche SEO-URLs.
quelle
Wir richten Wildcard-DNS wie oben erläutert ein. Der a-Datensatz lautet also * .yourname.com
Dann gehen alle Subdomains tatsächlich an den gleichen Ort, aber PHP behandelt jede Subdomain als ein anderes Konto.
Wir verwenden den folgenden Code:
Dieser Code setzt die
$account
Variable genauso wie die Subdomain. Sie können dann ihre Dateien und andere Informationen basierend auf ihrem Konto abrufen.Dies ist wahrscheinlich nicht so effizient wie die oben aufgeführten Methoden. Wenn Sie jedoch keinen Zugriff auf BIND und / oder eingeschränkten Zugriff haben, sollte diese Methode funktionieren (solange Ihr Host den Platzhalter für Sie einrichtet).
Wir verwenden diese Methode tatsächlich, um eine Verbindung zur Kundendatenbank für eine unternehmensübergreifende E-Commerce-Anwendung herzustellen, sie funktioniert jedoch möglicherweise auch für Sie.
quelle
Machen Sie keine Probleme mit .htaccess-Dateien, wenn Sie virtuelles Apache-Massenhosting verwenden können .
Aus der Dokumentation:
In gewisser Weise ist es das Gegenteil Ihrer Frage: Jede "Subdomain" ist ein Benutzer. Wenn der Benutzer nicht existiert, erhalten Sie eine 404.
Der einzige Nachteil ist, dass die Umgebungsvariable
DOCUMENT_ROOT
nicht korrekt auf das verwendete Unterverzeichnis festgelegt ist, sondern auf das Standarddokument_root in de htconfig.quelle
Einfache PHP-Lösung für Subdomains und Multi-Domain-Webanwendungen
Schritt 1. Geben Sie einen DNS-Eintrag als "*" für Domains (oder Domains) an, für die Sie "example.org" bereitstellen möchten.
Schritt 2. Überprüfen Sie die Eindeutigkeit der Anmeldungen, wenn Sie sich anmelden oder die Anmeldung ändern. Vermeiden Sie außerdem Punkte in diesen Anmeldungen.
Schritt 3. Überprüfen Sie dann die Abfrage
Diese Lösung kann verschiedene Domänen bedienen
Wenn Sie dieselben Nicks für verschiedene Domains benötigen, die unterschiedlich bedient werden, müssen Sie möglicherweise die Benutzerauswahl für die Domain speichern, wenn Sie sich anmelden.
quelle
Sie könnten [möglicherweise] die URL neu schreiben, aber ja: Sie müssen die Kontrolle über Ihre DNS-Einstellungen haben, damit ein Benutzer beim Hinzufügen eine eigene Subdomain erhält.
quelle
Zusätzlich zu den Konfigurationsänderungen auf Ihrem WWW-Server zur Verarbeitung der neuen Subdomain muss Ihr Code Änderungen an Ihren DNS-Einträgen vornehmen. Sofern Sie nicht Ihr eigenes BIND (oder ähnliches) ausführen, müssen Sie herausfinden, wie Sie auf die Konfiguration Ihres Nameserver-Anbieters zugreifen können. Wenn sie keine API anbieten, kann dies schwierig werden.
Update: Ja, ich würde mich bei Ihrem Registrar erkundigen, ob dieser auch den Nameserver-Service anbietet (wie dies häufig der Fall ist). Ich habe diese Option noch nie untersucht, aber ich vermute, dass die meisten Verbraucher-Registrare dies nicht tun. Ich habe nach GoDaddy-APIs und GoDaddy-DNS-APIs gegoogelt, konnte aber nichts aufdecken. Ich denke, die beste Option wäre, die Online-Hilfe bei Ihrem Anbieter zu lesen. Wenn dies die Frage nicht beantwortet, halten Sie inne ihrer Support-Mitarbeiter.
quelle
Zunächst müssen Sie sicherstellen, dass Ihr Server so konfiguriert ist, dass Platzhalter-Subdomänen zulässig sind. Dies habe ich in JustHost erreicht, indem ich eine manuell benannte Subomain erstellt habe
*
. Ich habe auch einen Ordner angegeben, dersubdomains
als Dokumentstamm für Platzhalter-Subdomänen bezeichnet wird. Fügen Sie dies einer.htaccess
Datei in Ihrem Subdomains-Ordner hinzu:Schließlich müssen Sie nur einen Ordner in Ihrem Subdomain-Ordner erstellen und dann die Dateien der Subdomain in diesem Verzeichnis ablegen.
quelle
Dies kann erreicht werden,
.htaccess
sofern Ihr Server so konfiguriert ist, dass Platzhalter-Subdomänen zugelassen werden. Dies habe ich in JustHost erreicht, indem ich eine manuell benannte*
Subdomäne erstellt und einen Ordner namens Subdomains als Dokumentstamm für Platzhalter-Subdomains angegeben habe. Fügen Sie dies Ihrer.htaccess
Datei hinzu:Erstellen Sie abschließend einen Ordner für Ihre Subdomain und platzieren Sie die Subdomain-Dateien.
quelle
Ich wollte nur hinzufügen, dass Sie, wenn Sie CloudFlare (kostenlos) verwenden, deren API verwenden können, um Ihre DNS problemlos zu verwalten.
quelle
(1) Root .htaccess
Diese Datei wird http://www.yourwebsite.com zur Verwendung auf der Startseite an http://yourwebsite.com umgeleitet . Die gesamte Subdomain-Umleitung zu yourwebsite_folder
(2) Innerhalb des Ordners .htaccess
Diese Datei schreibt die URLs der Subdomain neu.
http://yourwebsite.com/index.php?siteName=9lessons bis http://9lessons.yourwebsite.com
Weitere .htaccess-Tipps: Htaccess-Datei-Tutorial und Tipps.
index.php
Diese Datei enthält einfachen PHP-Code, der reguläre Ausdrücke verwendet, um den Wert der Subdomain zu überprüfen.
Kein Subdomain-Ordner
Wenn Sie das Stammverzeichnis (htdocs / public_html) als Projektverzeichnis verwenden, verwenden Sie die folgende .htaccess-Datei.
quelle