Version complète: sur le forum Webmaster Hub : probleme .htaccess
Webmaster Hub > Création et exploitation de Sites Internet > Les fondations d'un site > Hébergement de Sites
macchu
bonjour,

c'est rageant! depuis quelques jours, mon site n'est plus inaccessible! angry.gif Je vous explique la situation :
J'ai voulu passer de motcle.com à mot-cle.com qui est bien mieux pour le référencement. hébergé chez O^H, j'ai fait une demande de transfert de ndd principal et pour l'ancien ndd, un hebergement Mailplan pour ceux qui connaissent, dans lequel je compte mettre un .htaccess 301 pour que les visiteurs qui ne sont pas au courant du changement ou qui viennent de Ggle soiet automatiquement redirigés.

Le problème est là : le .htaccess ne fonctionne pas!
je n'y connaissais rien avant, aujourd'hui je m'aperçois que ce n'est pas si simple que ça. Je m'y prends mal surment mais où?
A vous de me ledire.... tongue.gif


Voici le contenu du fichier :
CODE
RedirectPermanent http://www.motcle.com http://www.mot-cle.com


alors? alors?
Dan
CITATION(macchu @ jeudi 09 juin 2005, 14h24)
CODE
RedirectPermanent http://www.motcle.com http://www.mot-cle.com

Ben oui, c'est faux wink.gif

Il faut mettre:
CODE
RedirectPermanent /  http://www.mot-cle.com/


... tout bêtement tongue.gif

Dan
macchu
merci Dan,

je vais tester ce soir avec ça...pour être sur : c'est bien considéré par Ggle comme une redireection 301 n'est-ce pas?

sinon, j'ai une autre question, j'ai lu sur un autre site que :
CODE
RewriteRule ^article-([0-9]*).php archives-$1.htm [R=301]


correspond aussi à une redirection 301, mais je ne sais pas du tout comment le "renseigner". Pourrais-tu m'indiquer où je peux trouver ces infos stp?

merci!
Dan
Tu as toujours possibilité de valider la redirection à l'aide du visualisateur d'entêtes du Hub: http://www.webmaster-hub.com/outils/http-viewer.php

Par contre, la syntaxe de la règle que tu donnes ensuite est fausse. Le flag R (Redirect), auquel tu donnes la valeur 301 (ce qui donne l'entête 301 pour la redirection) nécessite de mettre une URL complète en second argument (commençant par http://...)
Il devrait aussi être suivi du flag L (pour Last)

La règle correcte devient donc:
CODE
RewriteRule ^article-([0-9]*)\.php http://www.domaine.tld/archives-$1.htm [R=301,L]
Phobos
Dan, tu es sûr de ce que tu avances pour le second membre avec une url complète ?
Dans une rewriterule j'ai jamais fais ça pourtant les headers sont bons et ça marche wink.gif
Dan
Oui je suis sûr tongue.gif

Si tu ne le fais pas, mod_rewrite rajoute l'URL du même domaine de lui même, et éventuellement le port s'il est différent de 80.
Si tu rediriges vers le même domaine, cela marche donc. Mais pour l'exemple donné, le domaine n'est pas le même q_smallexcla.gif

Donc autant la mettre toi-même, cela fera une opération de moins pour Apache et un risque d'erreur en moins smile.gif

Le site Apache dit:
CITATION
Note: When you use this flag, make sure that the substitution field is a valid URL! If not, you are redirecting to an invalid location! And remember that this flag itself only prefixes the URL with http://thishost[:thisport]/, rewriting continues. Usually you also want to stop and do the redirection immediately. To stop the rewriting you also have to provide the 'L' flag.


Toute la page du site Apache: http://httpd.apache.org/docs/mod/mod_rewrite.html

wink.gif Dan
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.