Diskussion: Dynamische Subdomains: How-To

Ayom-Team

Angesehenes Mitglied
Diskussion zum Artikel Dynamische Subdomains: How-To
in der Kategorie
Dynmamische Webseiten

Ok, ich habe mich schon vor längerer Zeit gefragt, wie ich "dynamische" Subdomains einrichten könnte.

Dabei handelt es sich praktisch um eine Funktion, die Besucher von der URL http://USERNAMEXYZ.domain.com auf etwas wie http://www.domain.com/userpages/index.php?...ame=USERNAMEXYZ umleitet.

Dann können die User bequem einfach ihre Seite aufrufen, oder andere referenzieren.


Jetzt habe ich es auch geschafft, und ich dachte, es ist Zeit, etwas ans Forum zurückzugeben.

Also, so geht's:

1- sicherstellen, dass man Apache und Mod_rewrite hat.

2- Wildcard-Subdomain DNS Eintrag machen: A *.domain.com IP

3- in der vhost.conf Datei dieser Domain folgende Zeile hinzufügen:
CODE ServerAlias *.domain.com

4- htaccess Datei ins Webroot legen, mit folgendem Inhalt:
CODE <IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ([^.]+).domain.com
RewriteRule ^(.*)$ /home/httpd/vhosts/domain.com/httpdocs/userpages/index.php?username=%1
</IfModule>
(Pfad zur Zieldatei variiert)
(Bemerkung: Input-Validierung in index.php nicht vergessen)
(Bemerkung2: index.php kann Datenbankabfragen machen und abhängig vom Resultat eine weitere Umleitung per PHP Header Location vornehmen)

5- Apache neu starten

fertig ist der Schneemann.

-------------------
Dieser Artikel steht unter der Creative Commons Lizenz.
 
CODE RewriteRule ^(.*)$ /home/httpd/vhosts/domain.com/httpdocs/userpages/index.php?username=%1


ist falsch, rewrites werden immernoch mit $ angegeben. daher heißt es richtig:


CODE RewriteRule ^(.*)$ /home/httpd/vhosts/domain.com/httpdocs/userpages/index.php?username=$1


zudem ist der pfad nicht notwendig, kann per RewriteBase gehandelt werden. resp. der relative pfad zum rootpfad.
 
QUOTE (mho->codus @ Sa 30.01.2010, 15:39) mag sein, aber ein syntax gibt es sicherlich nicht zur erheiterung: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Lol

Erstmal selbst die Doku lesen
laugh.gif

PH/Ayom hat recht, nur so gehts mit den Subdomains.
% bildet die Referenz auf die Ergebnisse der RewriteCond-Abfragen und somit hier die Subdomain.
$ enthält dann den Querystring
 
Ich muß gestehen, daß ich Wildcard-Subdomains derzeit nicht verwenden möchte.

Mir ist einfach das Risiko zu groß, daß irgendein Spinner das bemerkt und dann mit kritischen Namen (bsp. Markennamen) eine Subdomain verlinkt - und ich dann Post kriege oder Interessenten für Server-Daten darüber stolpern und den Kopf schütteln.

Deshalb generiere ich Datenbanken = Subdomains immer erst nach einer manuellen Prüfung. Es gab auch schon Witzbolde, die meinten, sie müssen eine Datenbank Visualbasic oder eine Datenbank mit einem öffentlich bekannten Vereinsnamen haben, ohne daß aus den Anmeldedaten eine Legitimation (Geschäftsführer dieses Vereins) sichtbar war.


Bsp. (gab es so ähnlich): Jemand will eine Datenbank = Subdomain ayom, schreibt die Kontaktdaten von hier rein - und hat eine Freemail von irgendeinem Anbieter.


Bei bekannten Namen könnte es ähnliche Probleme geben.
 
Zurück
Oben