Riscrittura di Apache in base al sottodominio

Sto cercando di redirect le richieste di un dominio jolly in una sottodirectory.
vale a dire. something.blah.domain.com -> blah.domain.com/something

Non so come ottenere il nome del sottodominio da usare nella regola di riscrittura.

Soluzione finale:

 RewriteCond %{HTTP_HOST} !^blah\.domain\.com RewriteCond %{HTTP_HOST} ^([^.]+) RewriteRule ^(.*) /%1/$1 [L] 

O come sottolineato da pilif

 RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$ 

Dovresti dare un’occhiata alla Guida alla riscrittura degli URL dalla documentazione di apache.

Quanto segue non è stato verificato, ma dovrebbe essere il trucco:

 RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$ RewriteRule ^/(.*)$ http://blah.domain.com/%1/$1 [L,R] 

Funziona solo se il sottodominio non contiene punti. Altrimenti, dovresti modificare Regexp in RewriteCond per far combaciare qualsiasi personaggio che dovrebbe ancora funzionare a causa dell’ancoraggio, ma questo sicuramente sembra più sicuro.

Prova questo:

 RewriteCond %{HTTP_HOST} (.+)\.blah\.domain\.com RewriteRule ^(.+)$ /%1/$1 [L] 

@pilif (vedi commento): Ok, è vero. Ho appena copiato un .htaccess che uso su uno dei miei progetti. Indovina che ha un approccio leggermente diverso 🙂

@ Sam

la tua riga RewriteCond è sbagliata. L’espansione della variabile viene triggersta con%, non $.

 RewriteCond %{HTTP_HOST} ^([^\.]+)\.media\.xnet\.tk$ ^ 

quello dovrebbe fare il trucco