Gandi.net Groups

DNS: Re: Redirection permanente ne fonctionne pas

Dans le sujet : Redirection permanente ne fonctionne pas

Vous devez être connecté pour poster de nouveaux messages. Créer un compte.

Bonjour Daniel,

Tout d'abord un énorme merci car je vois que vous vous êtes beaucoup
attardé sur mon message.
Donc je pense que je vais opter pour votre proposition qui me semble
parfaite (surtout le mod_rewrite en fait) pour moi.

Merci encore pour votre aide.
Je vous tiendrai au courant sur cette solution qui, pour sûr,
fonctionnera très bien.

Cordialement,
Flavien

Le 27 sep 2008 à 11:04 CEST, Daniel Dupont a écrit :
Bonjour,

Flavien Gateuil a ecrit :
[...]
Malgre cela, l'adresse n'est pas reecrite de "domaine.net" a
"www.domaine.net" (mais j'atteins sans souci "domaine.net" et
"www.domaine.net")

En bref, voici la configuration de mes zones :

@ 10800 IN A XXX.YYY.ZZZ.TTT
www 10800 IN CNAME domaine.net.

+

redirection 301 de domaine.net a www.domaine.net

[...]
Si vous fournissez le vrai nom de domaine on peut jeter un oeuil.
Le domaine concerne par le souci est gateuil.net
Les resolutions d'adresses sont les suivantes :
* <gateuil.net> => Address <88.191.73.217>
* <www.gateuil.net> => Canonical NAME <gateuil.net> => Address
  <88.191.73.217>
* le reverse de <88.191.73.217> est <sd-14310.dedibox.fr>

Je suppose que vous avez un seul virtual host apache qui repond aux 2 
hostname <www.gateuil.net> et <gateuil.net> (ou pas de virtual host du

tout, ce qui revient au meme).

Actuellement, les requêtes sur les 2 URL http://www.gateuil.net/ et 
http://gateuil.net/ renvoient un code retour HTTP 200. Donc pas de 
redirection.

Puisque tous les hostnames y pointent, la redirection doit s'effectuee

sur la dedibox avec, au choix, entre autre :
* l'utilisation du module mod_rewrite d'apache
* l'utilisation de la fonction header() de php

# mod_rewrite

RewriteEngine  on
RewriteCond    %{HTTP_HOST}  ^gateuil\.net [NC]
RewriteRule    ^/(.*)        http://www.gateuil.net/$1 [L,R=permanent]

Ceci fonctionne quelque soit l'URL demandee.

Plus d'informations :
http://httpd.apache.org/docs/2.2/mod/mod_r...

# header()

Dans le fichier index.php à la racine du site :

if( $_SERVER['HTTP_HOST'] == 'gateuil.net' ) {
    header( 'Location: http://www.gateuil.net/', TRUE, 301 );
    exit;
}

Ceci ne fonctionnera que pour l'URL http://gateuil.net/ pour peu que 
index.php soit bien en DirectoryIndex comme c'est le cas actuellement.
Ce 
code peut egalement etre inclus dans toute page du site pour laquelle
la

redirection est souhaitable.

Plus d'informations :
http://fr.php.net/manual/fr/function.heade...

A+