Voodoo: Wildcard Subdomain ohne ServerAlias?

Hallo!

Ich habe folgendes Problem:
Ich habe mir in Confixx eine Wildcard-Subdomain *.domain.com eingerichtet, die auf / zeigt.
Das funktioniert auch.
Jetzt wollte ich mit der RewriteEngine die Anfragen *.domain.com intern nach domain.com/* umleiten. Dazu hab ich folgenden Code in die htaccess in / gepackt:

  
RewriteEngine On  
RewriteBase /  
RewriteCond %{HTTP_HOST} !www\.domain\.com$ [NC]  
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.domain\.com [NC]  
RewriteRule (.*) %2/$1 [L]

Wenn ich jetzt zum Beispiel dev.domain.com aufrufe bekomme ich einen schönen Internal Server Error.
Ich habe mal ein bisschen rumgesucht und etwas von wegen ServerAlias in der httpd.conf gefunden. Jetzt meine Frage: Kann ich die WildCard-Subdomain irgendwie so einrichten, dass sie funktioniert, oder ist dazu der ServerAlias zwingend notwengig? Ich hab nämlich keinen Zugriff auf den Vhost-Abschnitt der httpd.conf bei meinem Hoster.

Grüße aus dem Wald
Voodoo

  1. Ich habe mal ein bisschen rumgesucht und etwas von wegen ServerAlias in der httpd.conf gefunden. Jetzt meine Frage: Kann ich die WildCard-Subdomain irgendwie so einrichten, dass sie funktioniert, oder ist dazu der ServerAlias zwingend notwengig? Ich hab nämlich keinen Zugriff auf den Vhost-Abschnitt der httpd.conf bei meinem Hoster.

    es müssen zumindest sämtliche anfragen die keinem vhost zugeordent sind irgendwo landen (entweder laufen die ins leere oder auf einen default-vhost, der dann alles weitere regelt) ohne zugriff auf die konfiguration des servers, wird das wohl nix werden

    im übrigen meinst du wahrscheinlich example.com

    1. Danke für die Antwort!

      Nur damit ich das richtig verstehe:
      Die Anfrage *.example.com landet zwar bei der richtigen htaccess, aber der Server kann das dann nicht intern weiterleiten, ohne dass *.example.com als ServerAlias eingetragen ist? Weshalb interessiert das überhaupt; Geschieht die interne Weiterleitung nicht sowieso relativ?

      Gruß
      Voodoo

      1. Danke für die Antwort!

        Nur damit ich das richtig verstehe:
        Die Anfrage *.example.com landet zwar bei der richtigen htaccess, aber der Server kann das dann nicht intern weiterleiten, ohne dass *.example.com als ServerAlias eingetragen ist? Weshalb interessiert das überhaupt; Geschieht die interne Weiterleitung nicht sowieso relativ?

        nein *.example.com ist gem. rfc 1034 kein gültiger domainname und kann somit auch nie bei einem server ankommen

        du kannst mit blah.example.com oder mit weee.example.com daherumkommen, wenns keinen vhost gibt, der bei ServerName oder ServerAlias etwas in diese richtung eingetragen hat, entscheidet der webserver nach konfiguration, was passieren wird

        bad request oder die default seite bzw den default-vhost aufrufen

        dieser default-vhost kann dann wiederum den domainnamen analysieren und auf den richtigen vhost weiterleiten

        1. echo $begrüßung;

          du kannst mit blah.example.com oder mit weee.example.com daherumkommen, wenns keinen vhost gibt, der bei ServerName oder ServerAlias etwas in diese richtung eingetragen hat, entscheidet der webserver nach konfiguration, was passieren wird

          Man kann sowohl bei VirtualHost als auch bei ServerAlias die Jokerzeichen * und ? verwenden. Wenn kein VHost mit passendem VirtualHost ServerName und (optional) ServerAlias gefunden wurde, wird der Request zur ersten VHost-Konfiguration geleitet. Apache-Doku: Unterstützung namensbasierter virtueller Hosts

          bad request oder die default seite bzw den default-vhost aufrufen

          Der Wortlaut eines 500er ist bewusst so allgemein nichtssagend gehalten, damit nicht unnötig Interna an Besucher rausgegeben werden. Am besten im Error-Log nachlesen, was genau die Fehlerursache ist. Alles andere ist nur Stochern im Nebel. Leider steht das manchmal nicht zur Verfügung, weil der Hoster einen da nicht ranlässt. In dem Fall kann es helfen, sich die selbe Apache-Version auf einer Testmaschine einzurichten und den Fehler nachzustellen versuchen.

          dieser default-vhost kann dann wiederum den domainnamen analysieren und auf den richtigen vhost weiterleiten

          Wie genau, stellst du dir vor, kann man das konfigurieren? Rewriting im Default-VHost?

          echo "$verabschiedung $name";

          1. Man kann sowohl bei VirtualHost als auch bei ServerAlias die Jokerzeichen * und ? verwenden. Wenn kein VHost mit passendem VirtualHost ServerName und (optional) ServerAlias gefunden wurde, wird der Request zur ersten VHost-Konfiguration geleitet. Apache-Doku: Unterstützung namensbasierter virtueller Hosts

            thx for info - wieder was gelernt

            Wie genau, stellst du dir vor, kann man das konfigurieren? Rewriting im Default-VHost?

            "frameweiterleitungen" usw werden von den großen hostern doch auf diese weise gemacht - sämtliche domains verweisen auf einen "redirect server" (oder eben einen vhost) und werden entsprechend umgeleitet