3 votes

sous-domaine virtuel : un sous-domaine par utilisateur

Sur mon site web, j'utilise un hôte virtuel afin que mes utilisateurs puissent avoir un domaine virtuel comme 'user1.mondomaine.com', 'user2.mondomaine.com',...

Le problème est que sur des domaines virtuels comme 'user1.domain.com', la page d'index est toujours la même que sur ma page d'index 'http://mydomain.com'.

Ce que je veux faire, c'est avoir deux pages d'index différentes pour le domaine et pour les sous-domaines. Ma question est la suivante : comment faire en sorte que les sous-domaines soient redirigés vers 'index2.php' (par exemple) et que les sous-domaines ressemblent à 'user1.mondomaine.com' ?

2voto

Aleks G Points 25412

L'idéal serait de créer des répertoires de documents complètement distincts pour chaque sous-domaine. vhost dans apache est la voie à suivre. Si vous voulez cependant le faire à votre façon (les sous-domaines redirigeant vers des fichiers individuels), alors c'est un peu plus de travail, mais c'est toujours faisable. Tout d'abord, définissez le fichier mod_vhost avec un caractère de remplacement :

<VirtualHost 111.22.33.55>
    DocumentRoot /www/subdomain
    ServerName www.mydomain.com
    ServerAlias *.mydomain.com

    ...
</VirtualHost>

Ensuite, à l'intérieur de ce VirtualHost configurer les règles de réécriture en utilisant mod_rewrite :

<Location "/">
    RewriteCond %{HTTP_HOST} ^user1.mydomain.com$
    RewriteRule ^\/$ http://www.mydomain.com/index2.php [R=301,L]
    RewriteRule ^\/index.php$ http://www.mydomain.com/index2.php [R=301,L]

    RewriteCond %{HTTP_HOST} ^user2.mydomain.com$
    RewriteRule ^\/$ http://www.mydomain.com/index3.php [R=301,L]
    RewriteRule ^\/index.php$ http://www.mydomain.com/index3.php [R=301,L]

    ...
</Location>

Notez cependant que cela ne fonctionnera correctement que pour / y /index.php aux sous-domaines. Il est préférable de créer des répertoires racine distincts pour chaque sous-domaine si vous avez l'intention de faire plus que cela.

0voto

Maks3w Points 3377

Peut-être cela vous intéresse-t-il.

http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html#virtualdocumentroot

Cela permet, dans le serveur Apache, d'utiliser automatiquement un document Root basé dans le sous-domaine

0voto

James Points 684

Je voudrais utiliser php pour vérifier l'url. Si c'est un sous-domaine, incluez index2.php sinon incluez index1.php.

Sans connaître les serveurs sur lesquels vous travaillez, c'est la seule méthode à laquelle je peux penser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X