Ergebnis 1 bis 4 von 4
  1. #1
    Neuer Benutzer
    Registriert seit
    19.07.2016
    Beiträge
    16

    Wildcard-Subdomains und mod_vhost_alias

    Hallo Allerseits,

    Wir versuchen folgendes Szenario umzusetzen:
    Wenn ein Besucher eine beliebige Subdomain zu einer Domain (bspw. a1.domain.de) aufruft, soll er falls vorhanden in das entsprechende Verzeichnis (bspw. /srv/www/web**/a1/) geleitet werden. Dabei soll sich a1.domain.de wie eine echte (Sub-)Domain verhalten.

    Dazu haben wir:
    im Apache das Modul vhost_alias eingebunden.
    im externen DNS einen Wildcard (* IN A ...) hinzugefügt
    im LiveConfig eine custom.lua und ein Script geschrieben, dass uns die VHost-Konfig für die entsprechende Domain per Include modifiziert. (bspw. VirtualDocumentRoot /srv/www/web**/htdocs/%1/)

    Bis hierhin funktioniert das auch ganz gut. Der DNS funktioniert. die Anpassung der Apache-Konfig-Files ebenfalls. Ein Konfig-Test bringt keine Fehler. Apache startet anstandslos neu.

    wenn man nun aber eine beliebige Subdomain aufruft, zu der auch ein DocRoot existiert, dann bringt LiveConfig die Meldung "Domain ist nicht verfügbar".
    Selbstredend soll bei dieser Variante natürlich nicht jede einzelne Subdomain via LC angelegt werden müssen (dazu soll das vhost_alias-Modul herhalten).

    Gibt es hier eine Variante das ganze ans Laufen zu bekommen? Kann man ggf. die Verfügbarkeitsprüfung von LC umgehen?

    Im Prinzip geht es darum, dass Nutzer einer Plattform selbstständig "Arbeitsversionen" anlegen und löschen können sollen, die dann als Subdomain erreichbar sind.

    Beste Grüße und vielen Dank!
    Michael Graupner

  2. #2
    LiveConfig-Team Avatar von kk
    Registriert seit
    10.12.2010
    Beiträge
    3.694
    Hallo,

    ich schätze dass das mit einer RewriteRule und einer Wildcard-Subdomain erheblich einfacher gehen dürfte als mit mod_vhost_alias.

    Im Prinzip also:
    • Subdomain mit "*"-Hostname im LiveConfig anlegen, ggf. gewünschtes Webspace-Startverzeichnis auswählen
    • dort eine .htaccess-Datei anlegen, die mit einem regulären Ausdruck über HTTP_HOST prüft, ob das gewünschte Zielverzeichnis existiert


    Wie das vom Prinzip her funktioniert ist im URL Rewriting Guide im Abschnitt "Virtual User Hosts" beschrieben.
    Wichtig ist dabei, zwei RewriteRules zu erzeugen: eine setzt den HTTP_HOST vor das tatsächlich angeforderte Verzeichnis, die zweite Regel routet diese Anfrage dann entsprechend. Mit "-d" können Sie prüfen, ob das gewünschte Zielverzeichnis existiert. Ggf benötigen Sie noch eine weitere RewriteRule für Zugriffe auf nicht vorhandene Subdomains (quasi die "Standard-Subdomain").

  3. #3
    Neuer Benutzer
    Registriert seit
    19.07.2016
    Beiträge
    16
    Hallo,

    vielen Dank für den Tipp!
    Eine Subdomain mit * hatten wir bereits angelegt. :-)
    Dann schrauben wir mal an den Rewrite-Regeln...

    Beste Grüße
    Michael Gaupner

  4. #4
    Neuer Benutzer
    Registriert seit
    19.07.2016
    Beiträge
    16
    Hallo,

    vielen Dank nochmal!
    Funktioniert gut!

    Beste Grüße
    Michael Graupner

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •