Nicolas Posté 7 Septembre 2005 Posté 7 Septembre 2005 Bonjour, J'ai un domaine sur lequel je voudrais faire une redirection 301 vers le sous domaine www. Dans apache j'ai la config suivante : <VirtualHost xxx.xxx.xx.xx> ServerAdmin webmaster_AT_mondomaine.com DocumentRoot /home/login/www User login Group users ServerName www.mondomaine.com ServerAlias mondomaine.com CustomLog logs/login-access_log "combined" ScriptAlias /cgi-bin/ /home/login/cgi-bin/ LogLevel emerg </VirtualHost> Quand je tape dans mon navigateur : http://mondomaine.com il m'affiche bien le site http://www.mondomaine.com (c'est un alias) mais l'adresse dans la barre de navigateur reste la meme. L'entete http renvoyée est un code 200. Je voudrais une 301 car l'url http://mondomaine.com est référencé dans google ainsi que www.mondomaine.com donc ça me fait 2 indexes... Merci d'avance
Vincent Posté 7 Septembre 2005 Posté 7 Septembre 2005 voici les lignes de mon htaccess pour rediriger http://mondomaine.com vers http://www.mondomaine.com RewriteEngine onRewriteOptions inheritRewriteCond %{HTTP_HOST} !www.mondomaine.netRewriteRule (.*) http://www.mondomaine.net/$1 [R=301,L]
Remi Posté 7 Septembre 2005 Posté 7 Septembre 2005 C'est la première fois que je vois cette directive : RewriteOptions inherit (Je pensais que par défaut il y avait toujours héritage des répertoires parent...) En regardant la doc Apache, j'ai vu que 'inherit' était la seule option possible pour cette directive. Moi, je serais éventuellement preneur du contraire : bloquer l'héritage des parents. Cela existerait-il ?
Dan Posté 7 Septembre 2005 Posté 7 Septembre 2005 Salut Remi, En l'absence du RewriteOptions inherit, les règles du répertoire de niveau supérieur sont remplacées par celles du fichier .htaccess du répertoire courant. Il n'y a donc pas d'héritage par défaut pour la réécriture, sauf si le fichier .htaccess est manquant. Tu peux aussi mettre un RewriteEngine Off si tu veux éviter toute réécriture. Dan PS: dans l'exemple, le RewriteOptions inherit ne sert à rien parce que la règle de réécriture suppose qu'on soit à la racine du site... il n'y a donc pas de niveau supérieur
Vincent Posté 7 Septembre 2005 Posté 7 Septembre 2005 oui c'est vrai, la ligne est inutile... j'ai du copier un peu trop grossierement d'un exemple. j'ai essayé de recherché ou je l'avais trouvé mais je n'ai pas trouvé cela m'a donné l'occasion de tomber sur 2 messages du meme sujet : www obligatoire URL rewriting dans quel .htaccess?, Racine ou répertoire?
Remi Posté 8 Septembre 2005 Posté 8 Septembre 2005 Merci bien pour ces précisions... (J'étais persuadé qu'il y avait toujours héritage.) Il n'y a donc pas d'héritage par défaut pour la réécriture, sauf si le fichier .htaccess est manquant. Enfin, il peut toutefois y avoir un .htaccess sans UR.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant