Ciao a tutti,
stavo valutando la possiblità di gestire i sottodomini attraverso le direttive del mod_rewrite in un htaccess per poter assegnare particolari configurazioni senza dover intevenire con i virtualhost.

Avevo ipotizzato una struttura delle directory del genere

codice:
/var/www
              /dominio.tld/
                                /httpdocs/
                                              /www/
                                              /pippo/
                                              /sub/
l'htaccess sta dentro /var/www/dominio.tld/e il virtualdocumentroot viene chiamato così

VirtualDocumentRoot /var/www/%-2.0.%-1/

sarà poi compito delll'htaccess "smistare" le richieste per andarle nelle rispettive subdirectories considerandole domini di terzo livello


www.dominio.tld -> dominio.tld/httpdocs/www
pippo.dominio.tld -> dominio.tld/httpdocs/pippo
sub.dominio.tld -> dominio.tld/httpdocs/sub
...

In questo modo con 2 sole regole (una nel conf e una nell'htaccess) posso gestire più domini senza dove mettere una regola per ogni dominio.

Passiamo all'atto pratico e qua ho trovato i dolori (soprattuto per le espressioni regolari che sinceramente non mastico molto bene )


RewriteEngine On

RewriteCond %{HTTP_HOST} (.+)\.(.+)\.(.+) [NC]
RewriteRule ^$ "/httpdocs/%1/$1" [L]

RewriteCond %{HTTP_HOST} (.+)\.(.+)\.(.+) [NC]
RewriteRule ^([^/]+)$ "/httpdocs/%1/$1" [L]


Sicuramente non sarà il metodo più raffinato del mondo... ma funziona a parte una condizione (grave cmq )

in questo modo tutte le chiamate
http://www.dominio.tld/
http://www.dominio.tld/file.html
http://pippo.dominio.tld/altrofile.php

funzionano alla perfesione.. l'url rimane con il dominio di terzo livello ma i file vengono aperti correttamente.

1° Limite
----------
non riesco a far rewrittare correttamente le sottocartelle
es.:
http://www.dominio.tld/prova/

mi tenta di aprire /httpdocs/prova e non /httpdocs/www/prova e non so cosa aggiungere e/o dove modificare nei precedenti rewriterule per fargli digerire questa cosa.

2° Limite
--------
se scrivo
http://www.dominio.tld/httpdocs/
mi si apre effettivamente la directory httpdocs/ contenente tutte le directory dei sottodomini permettendo la pienza navigazione fra di essi senza "cambiare" il dominio di terzo livello.. ed è una cosa che vorrei evitare con un forbidden magari..

ma con la regola

RewriteCond %{REQUEST_URI} ^/httpdocs/.*$ [NC]
RewriteRule ^.*$ - [F] [NC] [L]

mi manda in forbidden tutto poiché anche i precedenti rewrite considera il REQUEST_URI con httpdocs.


Suggerimenti ? Aiuti.. secondo me se ci si riesce a tirar su una struttura del genere semplificherebbe di non poco la gestione dei domini e le relative configurazioni separate per dominio


grazie