Tutoriel N° 70
Pour avoir des sous domaines dynamiques, il existe plusieurs méthodes.
Dans ce tutoriel je n'utiliserai pas htaccess mais seulement le fichier index.php racine de votre site.
Avec SSH:
Avant cela il faut ajouter dans le virtualhost de votre domaine dans le fichier httpd.conf
<VirtualHost xx.xx.xx.xx:80>
ServerAdmin postmaster@domain.com
DocumentRoot /home/domain/www
SuexecUserGroup domain users
ServerName www.domain.com
# ligne à ajouter
ServerAlias *.domain.com domain.com
CustomLog logs/domain-access_log combined
ScriptAlias /cgi-bin/ /home/domain/cgi-bin/
AddHandler x-httpd-php4 .php
</VirtualHost>
Redemarrer ensuite apache
/etc/init.d/apache restart
Dans Webmin:
Serveurs > Serveur de noms de domaines BIND > votre domaine > Modifier le fichier d'enregistrements
Ajouter la ligne enremplaçant xx.xx.xx.xx par l'ip de votre serveur:
* IN A xx.xx.xx.xx
Puis redemarrer bind
/etc/init.d/named restart
Il y aura un temps de propagation dns necesssaire, il est donc possible que les sous domaines ne soient pas tout de suite accessibles !
Script index.php racine:
Ensuite votre fichier index.php racine devra avoir la forme suivante:
Voila mon script index.php
<?
$xxx = explode( '.', $_SERVER["HTTP_HOST"], 2 ) ;
$sousdom = $xxx[0] ;
if( $sousdom != 'www' AND $sousdom != '' ) {
include( "sousdomaine.php" ) ;
exit ;
}
else
{include("indexhome.php");}?>
Explication:
On commence par extraire l'url et l'on extrait son sous domaine.
On regarde si celui-ci est www.
Si c'est www dans ce cas on charge la homepage de votre site qui sera stockée dans indexhome.php
Sinon on appelle le fichier sousdomaine.php
Cas de l'erreur 404:
Par exemple si l'on appelle un sous domaine qui n'est pas censé exister.
Dans ce cas il faut faire un header location sur une page 404 par exemple dans le script index.php ci dessus
<?
header('HTTP/1.1 404 Not Found');
header('Content-Type: text/html; charset=iso-8859-1');
include("http://www.domain.com/404/404.html");
?>
Pour aller plus loin, je vous conseille la lecture d'un autre tutoriel:
Tutoriel N° 71 - Creer des urls du type http://www.dom.com/nom
http://www.shareannonce.com/david/tutorial/71