Je désire configurer mon serveur apache de sorte que pour chaque virtual
host du type mondomaine.com apache aille chercher le sous domaine dans le
repertoire web de l'utilisateur.
Un exemple sera plus clair. Concrètement voici ce que donnera le résultat:
http://www.ledomaine.com/ => /home/nom_utilisateur/www
http://ledomaine.com/ => /home/nom_utilisateur/www
et ce qui devient interessant:
http://nimportequoi.ledomaine.com/ => /home/nom_utilisateur/nimportequoi
J'ai réussi à configurer ceci avec ces quelques lignes:
<VirtualHost adresse.ip.de.la.machine>
ServerAdmin webmaster@ledomaine.com
DocumentRoot /home/nom_utilisateur/www
ServerName www.ledomaine.com
ServerAlias ledomaine.com *.ledomaine.com
VirtualDocumentRoot /home/nom_utilisateur/%-3.0
UseCanonicalName off
CustomLog logs/access_logs combined
ScriptAlias /cgi-bin/ /home/nom_utilisateur/cgi-bin/
User nom_utilisateur
Group users
php_admin_flag safe_mode on
php_admin_flag register_globals off
php_admin_value open_basedir /home/nom_utilisateur
php_admin_value include_path /home/nom_utilisateur
</virtualHost>
Ce que je voulais fonctionne de manière -presque- optimale de cette manière.
Une erreur cependant survient:
l'alias /icons/ défini en amont des virtual hosts (dans la partie général de
la conf) ne prend plus effet sitôt que la ligne VirtualDocumentRoot
/home/nom_utilisateur/%-3.0 est mise en place. Dans les autres virtual hosts
ou cette ligne n'est pas mise en place, les icones (lors de listing de
répertoires sans fichier index.php/html) apparaissent. Avec les lignes ci
dessus, l'erreur enregistrée dans les logs est la suivante:
[Thu Aug 7 19:30:09 2003] [error] [client 81.248.#.#] File does not exist:
/home/nom_utilisateur/www/icons/back.gif
Je sais qu'il est possible d'effectuer la même chose avec le mod_rewrite.
Peut être est-ce plus efficace ?
Merci d'avance à tous ceux qui m'apporteront un peu d'aide :)