Spero che questa pillola possa essere utile a chi ha (come me) la necessità di dover creare automaticamente infiniti domini di terzo livello.
L'articolo originale l'ho pubblicato
qui
pensando, in questa sezione, di descrivere rapidamente la procedura perchè si presuppone che gli utenti di questo forum siano meno utonti dei miei
Partiamo dal presupposto che, in realtà, non si tratta di veri domini di terzo livello ma di domain alias. Lo scopo in pratica è di ottenere che qualsiasi cosa si sostituisca al www si venga sempre reindirizzati sulla root del dominio di secondo livello.
es:
pippo.miosito.com aprirà www.miosito.com
in questo modo potremo, tramite un file .htaccess, reindirizzare l'utente alla pagina che vogliamo.
Ecco 2 esempi di reindirizzamento:
1) pippo.miosito.com -> www.miosito.com/pippo
2) pippo.miosito.com -> www.miosito.com/alias/index.php?richiesta=pippo
Detto questo vediamo cosa ci occorre per eseguire questo tutorial:
1) Accesso SSH alla shell del nostro server;
2) Server Linux;
3) mod rewrite abilitato.
La procedura di seguito è stata testata (con successo) su un server linux con installato un Plesk 7.5.4
Una volta effettuata la connessione SSh digitiamo questi comandi nella shell del server:
cd /etc/httpd/conf.d [invio]
vi httpd.domainalias.conf [invio]
i [scrivete la lettere "i" per entrare nella modalità editing del vi]
<VirtualHosts ip_miodominio:80>
ServerName *.miodominio.com
ServerAlias *.miodominio.com
DocumentRoot /var/www/vhosts/miodominio.com/httpdocs
<Directory /var/www/vhosts/miodominio.com/httpdocs>
AddType application/x-httpd-php .php .php4 .php3 .phtml
php_admin_flag engine on
</Directory>
</VirtualHost>
ESC: wq [invio]
cd /var/qmail/control [invio]
vi rcpthosts [invio]
i [aggiungete alla lista *.miodominio.com]
ESC: wq [invio]
vi virtualdomains [invio]
i [aggiungete alla lista *.miodominio.com:id_del_dominio_www.miodominio.com]
ESC: wq [invio]
service httpd restart [dovremmo ottenere ok ]
service qmail restart [dovremmo ottenere ok ]
Finito! Abbiamo creato gli infiniti alias domain.
Adesso dobbiamo soltanto scrivere la regola giusta per gestire il reindirizzamento: usiamo il Mod Rewrite
inseriamo nella root principale del sito questo .htaccess
rewriteEngine on
rewriteCond %{HTTP_HOST} !^www.miodominio.com [NC]
RewriteCond %{HTTP_HOST} prova.miodominio.com
RewriteCond %{REQUEST_URI} !prova/
RewriteRule ^(.*)$ prova/$1 [L]
rewriteCond %{HTTP_HOST} !^www.miodominio.com [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.miodominio\.com
RewriteCond %{REQUEST_URI} !([^.]+)/
RewriteRule ^(.*)$ alias/$1?richiesta=%1 [L]
in pratica abbiamo spiegato al nostro server che l'indirizzo
prova.miodominio.com deve portarci su www.miodominio.com/prova
mentre tutti gli altri, ad esempio cicciolina.miosito.com
ci porteranno su http://www.miodominio.com/alias/url....sta=cicciolina
E' tutto!
Buon lavoro