Wolfgang: regex Problem

hi und erstmal ein gutes neues Jahr :-)

ich hab ein regex Problem
und finde einfach keine Anlaufstelle, wo mir eventuell geholfen wird.

Nun hoffe ich dass es hier einen regex Guru :-) gibt der mir helfen kann.

Folgendes Problem

<IfModule mod_rewrite.c>
RewriteEngine on
rewritecond %{HTTP_HOST} ^(www.)?(.*)$
rewriterule (.*) /home/vhosts/%2$1
</IfModule>

Bringt im Ergebnis:
domain.tld >/home/vhosts/domain.tld/
www.domain.tld >/home/vhosts/domain.tld/
sub.domain.tld >/home/vhosts/sub.domain.tld/
sub.sub.domain.tld >/home/vhosts/sub.sub.domain.tld/

Die Sub und sub.sub Domains werden aber in das falsche Verzeichnis geleitet
die sollten eigentlich nach:
sub.domain.tld >/home/vhosts/domain.tld/sub/
sub1.sub.domain.tld >/home/vhosts/domain.tld/sub/sub1/
gehen.

Doch wie stelle ich die cond entsprechend um ?
Hat jemand eine Idee ?

herzlichen Dank für eure Hilfe

Wolfgang

  1. gudn tach!

    da viele noch schlafen / ass/pcm/ibu suchen/schlucken / kotzen werden, versuche ich mich mal an einer antwort:

    <IfModule mod_rewrite.c>
      RewriteEngine on
      rewritecond %{HTTP_HOST} ^(www.)?([a-z]+)$
      rewriterule (.*) /home/vhosts/%2$1 [L]
      rewritecond %{HTTP_HOST} ^([a-z]+).([a-z]+)$
      rewriterule (.*) /home/vhosts/%2/%1$1 [L]
      rewritecond %{HTTP_HOST} ^([a-z]+).([a-z]+).([a-z]+)$
      rewriterule (.*) /home/vhosts/%3/%2/%1$1 [L]
    </IfModule>

    hab noch nie mod_rewrite angewendet, kann also sein, dass das so ueberhaupt nicht funzt, aber ich denke, dass wenigstens die idee richtig sein sollte.
    bei hoher moeglicher anzahl von subdomains ist das natuerlich haesslich, aber ich weiss nicht, ob/wie man beim apache auch schleifen oder gleich perl-code einbauen kann

    prost
    seth