Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je cherche à faire pointer mon domain.com vers www.domain.com sans utiliser d'url rewriting, de sorte à ce que quand quelqu'un oublie de tapper les www ils apparaissent automatiquement.

Sauriez-vous comment faire et si c'est possible ? J'ai cherché pendant une heure sur les forum sans arriver à trouver, si vous avez un lien c'est ok si le sujet à déjà été abordé ici.

Je précise que mon domaine est paramètrable sur networksolution, et que j'ai un hébergement mutualisé sur godaddy qui possède aussi de nombreuses options, mais je n'arrive pas à trouver comment faire. :sick:

Merci,

Alain

Posté

il n'existe que deux solutions valables, les autres ne sont que des bidouillages futiles, la première est en passant par htaccess en utilisant le mod_rewrite et la seconde est à base de language serveur (php, asp, jsp...) en jouant avec les headers.

Il te suffit re renvoyer un code 301 en redirigeant vers l'url désirée.

Posté (modifié)

Exemple en php :

$url1 = $_SERVER['HTTP_HOST'];
$url2 = $_SERVER['REQUEST_URI'];

$ur = explode('.', $url1);
if ($ur[0] == 'example') {
$ur = implode($ur, '.');
$ur = 'http://www.'.$ur;
header("Status: 301 Moved Permanently", false, 301);
header('location: '.$ur.$url2);
die();
}

En remplacant "example" par ton domaine (sans l'extension finale)

Si tu n'a pas de www il la rajoutera alors.

Modifié par kazhar
Posté (modifié)

et en passant par le .htacess

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domaine.com$
RewriteRule ^(.*) http://www.domaine.com/ [QSA,L,R=301]

Modifié par xgamer
Posté

Bonjour,

Si tu es sur un serveur dédié il me semble que tu peux paramétrer ca au niveau d'Apache... En gros il s'agit de créer un Alias : monsite.com est un alias de www.monsite.com (ou inversement). Et entre nous, je ne pense pas qu'il s'agisse d'un bidouillage futile ;)

Posté

Merci pour vos conseils et particulièrement à NorSeb car effectivement comme indiqué dans mon message je cherche une autre solution que par l'url rewriting:

Y a t'il moyen d'arranger cela avec un paramètrage dans la configuration DNS? Désolé mais je ne m'y connais pas trop dans ce domaine et voici la configuration existante sur network solutions:

IP ADDRESS: A RECORDS

Host Numeric IP

www 68.178.232.55

@ (None) 68.178.232.55

* (All Others) 68.178.232.55

HOST ALIASES: CNAME RECORDS

No CNAME Records.

Sans rapport avec network solutions, mon hebergeur à une option "off site dns management" et "total dns control" qui permet de modifier les éléments suivants:

A (Host)

CNAMES (Aliases)

TXT (Text)

Il y a déjà des sous domaines configurés, des valeurs @ et www, mais je n'y connais pas suffisament pour capter les paramètrages.

Si il exites une solution aux niveau DNS, est ce qu'elle est aussi éfficace qu'une redirection 301 pour transmettre le référencement ? J'ai actuellement une "pénalité" google pour duplicate content (mirored website) et je cherche à m'en débarasser. Je ne sais pas si cela vient de ce problème ou de quelques textes recopiés sur d'autres sites (avec l'accord de leurs auteurs).

++

:)

Posté

Bonjour,

Je ne suis pas du tout un spécialiste mais j'ai quelques restes. En gros, le domaine monsite.com est redirigé sur ton serveur grace au serveur DNS. Ensuite, tout ce qui concerne les sous-domaine (www ou autre) doit être géré sur ton serveur. C'est donc sur celui-ci que ça doit être géré et c'est au niveau d'apache (à l'époque on faisait avec Webmin, je crois que ca existe encore).

Posté
Bonjour,

Si tu es sur un serveur dédié il me semble que tu peux paramétrer ca au niveau d'Apache... En gros il s'agit de créer un Alias : monsite.com est un alias de www.monsite.com (ou inversement). Et entre nous, je ne pense pas qu'il s'agisse d'un bidouillage futile ;)

Entre nous, je ne pense pas que ff-tarot ai un serveur dédié au vu de sa question. Sans quoi il ne se prendrait pas la tête à chercher une solution absolument sans réécriture. ;)

Mais effectivement c'est un oubli de ma part.

Pour ce qui est de configurer un alias nul besoin d'avoir accès au serveur, il suffit d'utiliser la directive Redirect (temp, match, permanent...) qui fait appel au mod_alias d'apache : un simple htaccess suffit. Regarde donc du côté d'alias ou mod_alias dans la doc apache.

Posté

Autant que je sache, en agissant sur les DNS, on ne peux créer qu'un alias.

Pour une redirection (et éviter tout risque de duplicate), il faut utiliser soit l'Url Rewriting, soit le code php indiqué par kazhar sur toutes ses pages.

Posté
Pour une redirection (et éviter tout risque de duplicate), il faut utiliser soit l'Url Rewriting, soit le code php indiqué par kazhar sur toutes ses pages.
Oui, mais, en pratique, l'utiliser sur la page d'accueil uniquement suffit si presque tous les liens externes pointent vers la page d'accueil.

Jean-Luc

Posté

Merci pour vos réponses.

FF-tarot, par curiosité, pourquoi ne pas utiliser l'url rewriting ?

Par ce que j'ai déjà une config énorme entre pleins de programme dans mon .htaccess et un serveur de blogs qui me prend la tête à chaque fois que je modifie le .htaccess de la racine.

Je pensais que cela pouvait ce faire en modifiant un paramètre dans les options DNS, et cela aurait été plus tranquilisant pour moi.

Encore merci ++

Alain

Posté

Je viens de poser une règle dans le .htaccess de la racine du type:

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]

RewriteRule ^(.*) http://www.example.com/$1 [QSA,L,R=301]

Cela marche bien mais par contre, je suis obligé de le faire dans tous les autres .htaccess qui contiennent des règle d'url rewriting dans d'autres répertoires et c'est un peut le bazar car il faut à chaque fois rajouter le nom du répertoire dans la deuxième ligne.

Merci pour vos conseils, mon probème est règlé.

++

Posté

cherche du côté de ta config DNS... de mémoire, les CNAME devraient pouvoir t'aider, je ne suis pas un grand spécialiste mais c'est clairement faisable

@+

Posté
je te conseille plutôt une règle comme celle là:

RewriteCond %{HTTP_HOST} !^www.example.com$

RewriteRule ^(.*) http://www.example.com/$1 [QSA,L,R=301]

Merci, quel est l'effet du ! dans cette règle ? Celle que j'ai mis en place à l'air de bien fonctionner, cela apporte quelque chose de plus ?

++

Alain

Posté

La première règle était :

si ton nom de domaine est example.com alors redirige vers www.example.com

tandis que la seconde règle est :

si tu n'est pas sur www.example.com alors redirige vers www.example.com

Posté

si tu as godaddy, alors tu peux aller modifier directement tes paramètres dns il me semble !

tu peux le faire via la section "Total DNS Control"

pour que tu lui dises:

nomdedomaine.ext A IP_ADRESS

lorsque tes visiteurs oublieront de taper le www ils iront au meme endroit que sans le www :)

Posté
La première règle était :

si ton nom de domaine est example.com alors redirige vers www.example.com

tandis que la seconde règle est :

si tu n'est pas sur www.example.com alors redirige vers www.example.com

Mon dieu c'est justement le genre de choses que je souhaitais éviter !!

J'ai des sous domaines... et la première règle est justement ce qu'il me faut.

++

:)

Posté

Mon dieu c'est justement le genre de choses que je souhaitais éviter !!

J'ai des sous domaines...

Posté
tandis que la seconde règle est :

si tu n'est pas sur www.example.com alors redirige vers www.example.com

Non je n'ai pas du tout envie de tester par ce que je comprend que si je suis sur monsousdomaine.mondomaine.com alors cela m'envoie sur www.mondomaine.com

Or, j'ai des sous domaines.

Merci pour l'aide.

Alain

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...