Subdomains dynamisch weiterleiten ohne VirtualHost

Alles, was den Apache betrifft, kann hier besprochen werden.

Subdomains dynamisch weiterleiten ohne VirtualHost

Postby defcon1 » 06. October 2008 18:06

Hi,

ich habe leider keine tiefen Apache-Kenntnisse und habe folgende
Anforderung:

Ich würde gerne ein Portal bauen bei dem sich Benutzer registrieren können.
Ein Feature soll sein, das der Benutzer danach sofort eine URL zur Verfügung hat,
welche dann z.B. http://benutzername.domain.de lautet und
auf die eigentliche Web-Applikation weiterleitet, z.B. http://www.domain.de?name=benutzername.

Ich weiss das man dies mit VirtualHosts lösen kann, ich würde es aber gerne
vermeiden, zumal meines Wissens nach dies einen händischen Eingriff bedeuten
würde.
Ich habe nun etwas über URL-Rewriting gelesen, verstehe aber leider die
kryptische Syntax nicht.

Meine Frage nun: Kann man das mit URL-Rewriting lösen? Wenn ja, wie müßte
die Regel ausschauen? Gibt´s andere/elegantere Methoden?

Danke und Grüße,
d1
defcon1
 
Posts: 6
Joined: 06. October 2008 17:59

Postby glitzi85 » 06. October 2008 18:43

Hallo,

wenn ich das richtig verstanden habe, dann soll die Subdomain wirklich weitergeleitet werden, der Benutzer soll also nicht direkt mit dieser Subdomain arbeiten können, richtig?

Wenn ja, dann könnte das z.B. so aussehen:

Code: Select all
RewriteCond %{SERVER_NAME} !^example.com$
RewriteRule ^! http://example.com/index.php?name=%{SERVER_NAME}


Allerdings wird dabei nicht der Benutzername, sondern die komplette URL angehängt: http://example.com/index.php?name=benut ... xample.com

Ansonsten gibt es noch die Möglichkeit mod_macro, damit wärst du ultimativ flexibel, allerdings ist das auch nicht ganz trivial.

Alternativ kannst du auch einfach den Server-Namen in der index.php abfragen, der steht dort nämlich auch zur Verfügung.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby defcon1 » 06. October 2008 19:00

Hi Glitzi,

das ist aber schonmal ein Anfang. Ich kann ja dann die URL (angehängter
Parameter) parsen und mir dann die subdomain rausschneiden.

Nicht elegant, müsste aber funktionieren ...

Vielleicht findet man ja noch eine "saubere" Lösung.

Danke schonmal und grüße,
d1
defcon1
 
Posts: 6
Joined: 06. October 2008 17:59

Postby defcon1 » 06. October 2008 19:27

Hmm ... habe festgestellt das ich im Servlet auch den Server-Namen rauskriege. Dann könnte ich mit einer einfachen Routine den Subdomain-
Namen extrahieren und die Weiterleitung basteln.

Dann bräuchte ich aber die Einstellung für den Apache, das er alle
Subdomains akzeptiert ... was muss ich da in der httpd.conf dafür
einstellen. Einen VirtualHost mit einer Wildcard?
defcon1
 
Posts: 6
Joined: 06. October 2008 17:59


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests