Hello,

Un client me demande s'il est possible d'écrire http://www.sous.domaine.com
A ma connaissance je pense que ce n'est pas gérable mais savez-vous malgré tout s'il y a moyen ?
Je voudrais juste en faire une redirection vers l'addresse correct http://sous.domaine.com au cas où certains internautes peu avertis essaieraient de mettre les www.

Le site est hébergé sur un serveur mutualisé OVH.

Merci. Smiley smile
Salut,

ça ne devrait pas poser de problème. A noter que www est déjà un sous-domaine.

Quoi qu'il en soit il est préconisé de ne garder qu'une des deux possibilités d'URL (avec ou sans www) et donc de rediriger celle que tu ne veux pas.
Pour la redirection, un .htaccess, placé à la racine du site, fera l'affaire.
RewriteEngine on
RewriteCond %{HTTP_HOST} !^sous\.domaine\.com$
RewriteRule (.*)  http://sous.domaine.com/$1  [QSA, R=301, L]

Quelques explications de ce code :
- la première ligne permet d'activer le moteur de réécriture d'URL ;
- la deuxième ligne permet de tester la condition suivante : on vérifie que l'hôte (HTTP_HOST) ne correspond pas (le point d'exclamation) à sous.domaine.com (la syntaxe employée suit le principe de la notation des expressions rationnelles) ;
- si la condition de la deuxième ligne est vraie, alors on exécute la règle de réécriture de la troisième ligne, qui consiste à réécrire tout ce qui peut suivre le / de la racine du sous-domaine (l'expression rationnelle qui suit RewriteRule) dans une URL mentionnant le sous-domaine voulu (l'URL comportant le $1, qui correspond à la première capture de l'expression rationnelle indiquée en première partie de réécriture), le drapeau QSA signifiant qu'il faut ajouter les éventuels paramètres d'URL (Query String Append), le drapeau R=301 indiquant qu'il s'agit d'une redirection permanente et le drapeau L matérialisant la fin de l'ensemble de règles à exécuter pour le besoin exprimé.

Quelques lectures :
- la drective RewriteCond,
- la directive RewriteRule,
- les drapeaux utilisables dans les directives du module mod_rewrite.
Merci pour vos réponses.
Je crois que je n'ai pas vraiment compris l'exemple de Victor.

Je vous donne les vraies url pour que vous compreniez.

L'url à laquelle je veux envoyer les internautes est http://paris.select-live.com/

Ce que je veux, c'est que s'ils tapent http://www.paris.select-live.com/ (une url assez bizarre mais les internautes ne sont pas forcés de savoir ce qu'est un sous-domaine...) ils tombent sur l'url correcte.

En mettant le code de Victor dans mon htaccess à la racine du site, j'obtiens une erreur 500.
J'ai aussi dans mon htaccess un code pour activer php5, est-ce que ça peut avoir une incidence ?

Merci pour votre aide. Smiley smile
Modifié par Skoua (16 Oct 2009 - 12:54)
Skoua a écrit :
En mettant le code de Victor dans mon htaccess à la racine du site, j'obtiens une erreur 500.
J'ai aussi dans mon htaccess un code pour activer php5, est-ce que ça peut avoir une incidence ?

Que la version du PHP activée par le serveur soit la 4, la 5 ou la 6, il n'y a aucune incidence.

En revanche, as-tu vérifié si ton hébergeur a activé le module mod_rewrite d'Apache ? À défaut de contacter le support technique de ton hébergeur, essaie de corriger le code .htaccess comme suit :
RewriteEngine on
RewriteCond %{HTTP_HOST} !^paris\.select-live\.com
RewriteRule (.*)  http://paris.select-live.com/$1  [QSA,R=301,L]
Salut,

assure-toi dans un premier temps que le sous-domaine "www.paris" pointe bien vers le même virtualhost que l'url avec le sous-domaine "paris", sinon le script de Victor BRITO ne pourra pas s'executer.
Bonjour,

A la création du sous-domaine, OVH propose de créer aussi le www qui va avec. Dans le manager, tu peux le créer toi-même si tu as déjà créé le sous-domaine. Il suffit de le diriger vers le même répertoire.
salut,

actuellement j'ai cette erreur :
Unable to determine IP address from host name for  www.paris.select-live.com

donc le problème se situe tout d'abord au niveau de la résolution DNS.

le sous-domaine 'www'
du sous-domaine parent 'paris'
de la zone 'select-live.fr'
n'a pas d'IP associée

en revanche

le sous-domaine 'paris'
de la zone 'select-live.fr'
en a une

après, il faudra vérifier qu'Apache reconnaisse le nom d'hote www.paris.select-live.com (avec une directive ServerAlias par exemple) pour qu'ensuite le mod_rewrite puisse faire son boulot avec le .htaccess de Victor BRITO.

p.s.: heu, c'était mon 100ème post Smiley birthday lol.
Modifié par Etilem (21 Dec 2009 - 23:17)