Bonjour à tous !!
Je suis actuellement en train de monter un site-web et j'aurais besoin de créer des sous-domaines dynamiquement.
Je me suis donc pencher sur l'URL-Rewriting et j'ai trouvé ce bout de code (que je comprend à moitier vu que je n'en ai jamais fait :s )
RewriteEngine On
# Skip www.domain.com
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^.]+)\.domaine\.com
RewriteRule ^/(.*)$ /home/%1/www/$1 [L]
A ce que je comprend, le code revoit toutes les adresses (à par www) du type
http://xxx.domaine.com vers /home/xxx/www/
Premier problème :
Dans ma redirection il faudrait que je donne des cas spécifiques qu'il redirigerait différement, j'ai essayer de faire un code approximatif en espérant vous faire comprendre :
# ne pas rediriger
# http://www.domaine.com
RewriteCond %{HTTP_HOST} !^www\.
# spéciaux
# http://extranet.domaine.com --> http://www.domaine.com/extranet/
# http://admin.domaine.com --> http://www.domaine.com/admin/
RewriteCond %{HTTP_HOST} extranet\.domaine\.com
RewriteRule ^/(.*)$ /var/www/extranet/$1 [L]
RewriteCond %{HTTP_HOST} admin\.domaine\.com
RewriteRule ^/(.*)$ /var/www/admin/$1 [L]
# dynamique
# http://*.domaine.com --> http://www.domaine.com/clients/*/
RewriteCond %{HTTP_HOST} ^([^.]+)\.domaine\.com
RewriteRule ^/(.*)$ /var/www/cliens/%1/$1 [L]
Est que mon code tend vers le bon ou je me plante complet ???
Deuxième problème : Pour des problèmes de budget je vais faire les tests et le développement sur ma machine, sur un serveur lamp que j'ai monté (Ubuntu 8.10 64bits KDE4.2). Le problème c'est que je ne pourrais donc pas tester les sous-domaines ?!
A moins que je puisse rédiriger dans les deux cas, par exemple :
http://xxx.domaine.com --> /var/www/clients/xxx
http://xxx.localhost --> /var/www/clients/xxx
J'imaginais quelque chose comme le code ci-dessous à rajouter après :
# Skip localhost
RewriteCond %{HTTP_HOST} ^([^.]+)\.localhost
RewriteRule ^/(.*)$ /var/www/client/%1/$1 [L]
Est-ce possible ?? Sinon comment m'y prendre ??
J'espère avoir été le plus clair possible afin de me faire comprendre...
Merci d'avance à tous !
Configuration: Linux
Firefox 3.0.5