Interdire example.com et obliger www.example.com

Olivier Duffez (admin)
Membre du personnel
Edit : la réponse détaillée est dans ce tutoriel : comment éviter le duplicate content avec et sans www

Le reste est une discussion très ancienne ;-)

ça va paraitre idiot mais je viens de me rendre compte que ma config serveur autorise la visite de mon site sans taper le www devant le nom de domaine.
quelqu'un peut me dire ce qui marche bien dans le httpd.conf pour tout rediriger vers https://www.webrankinfo.com sachant que je n'ai pas de sous-domaine ?

j'ai pour l'instant
Code:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^([^.]+)\.[^.]+\.[^.]+$
    RewriteCond %{HTTP_HOST} !^www\.[^.]+\.[^.]+$
    RewriteRule ^(.+) %{DOCUMENT_ROOT}/%1$1
qui permet de naviguer sur le site sans taper de sous-domaine, ce que je ne souhaite pas. Et même Google a indexé des pages du site sans sous-domaine :? ce qui fait donc des pages dupliquées (+ de 2000 !)
 
WRInaute passionné
Code:
RewriteCond %{HTTP_HOST} !^www.example.com$ 
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]

classique non ?
 
Olivier Duffez (admin)
Membre du personnel
oui ça marche.
moi j'ai dû écrire avec un / de moins :
Code:
    RewriteCond %{HTTP_HOST} !^www.webrankinfo.com$ 
    RewriteRule ^(.*)   https://www.webrankinfo.com$1  [QSA,L,R=301]
 
Nouveau WRInaute
Pour info, www est un sous-domaine ;-)
C le sous domaine par défaut de tous les sites dans les confs dns, mais c bel et bien un sous domaine !

Pourquoi vouloir le supprimer ? Juste à cause de la duplication ?
 
Olivier Duffez (admin)
Membre du personnel
je suis bien d'accord, mais effectivement je souhaite supprimer les pages dupliquées.
en + ça complique la vie pour les stats, la meme page se retrouve 2 fois et donc est comptée différemment.
 
WRInaute passionné
Pour info on peut evidement faire l'inverse

Code:
RewriteCond %{HTTP_HOST} www.example.com
RewriteRule (.*) http://example.com$1 [L,R=301]
 
WRInaute impliqué
J'avais dejà fait la remarque pour WRI, lorsque j'avais posé la question :
https://www.webrankinfo.com/forum/highl ... _5598_.htm

sinon il faut faire attention pour les autres sous domaines,
avec
Code:
RewriteCond %{HTTP_HOST} !^www.votresite.com$ 
RewriteRule ^(.*)   http://www.votresite.com/$1  [QSA,L,R=301]

cela annule tous les sous domaines, mieux vaut faire

Code:
RewriteCond %{HTTP_HOST} ^votresite.com$ 
RewriteRule ^(.*)   http://www.votresite.com/$1  [QSA,L,R=301]
 
WRInaute impliqué
Salut,

Ce post m'a ammené regarder comment ca se passait sur mon nouvel hebergeur OVH.

si je tappe sur -http://www.ludo-animation.org j'ai bien ma page d'accueil , par contre, si je tappe -http://ludo-animation.org je tombe sur
Cet espace de 60mo a été acheté sur ovh.com
:?

donc pour ceux qui sont chez OVH : faites gaffe !

Je vais donc m'empresser d'apliquer la règle ci dessus.

Question je la met ou, avant mon url rewriting ou après ?
 
WRInaute impliqué
A moins que ca soit le proxy qui me joue des tours et qui ait gardé une mauvaise page sur la 2eme formulation. je regarde ca ce soir de la maison en "direct"
 
WRInaute discret
Code:
Code:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^([^.]+)\.[^.]+\.[^.]+$
    RewriteCond %{HTTP_HOST} !^www\.[^.]+\.[^.]+$
    RewriteRule ^(.+) %{DOCUMENT_ROOT}/%1$1

Bonjour,

Sûrement une question de débutant, mais bon :

A - J'aimerais savoir si la syntaxe/grammaire des quatres lignes ci-dessus correspondent-elles à un language donné ? :?
B - Si oui, existe-t'il une spécification, ou encore une norme (ISO peut-être) traitant de ce code ? :?


D'avance merci pour vos réponses,
curieuxmann
 
WRInaute impliqué
ludoanimation a dit:
si je tappe sur h*tp://www.ludo-animation.org j'ai bien ma page d'accueil , par contre, si je tappe h*tp://ludo-animation.org je tombe sur
Cet espace de 60mo a été acheté sur ovh.com

Regarde la racine de ton site en FTP.
Tu as du laisser le fichier index qu'OVH met par défaut sur tous les plans.
C'est un html donc si tu as mis un index.htm, il est toujours là.

Par contre, je ne vois pas pourquoi il apparaîtrait quand on tape l'url sans le www, c'est certainement un pb de cache.
 
WRInaute impliqué
Puma Noires a dit:
Pour info, www est un sous-domaine ;-)
C le sous domaine par défaut de tous les sites dans les confs dns, mais c bel et bien un sous domaine !
Pourquoi vouloir le supprimer ? Juste à cause de la duplication ?

Oui...
Et faire une redirection d'une URL domaine vers un sous-domaine me paraît dangereux, il y a potentiellement des risques de boucle.
Et le rewriting ne me paraît pas fait pour cela: Il faudrait mieux adapter le programme de statistiques...non ? :wink:
 
WRInaute impliqué
Question de newbie en UR/Referencement.....

Quel est l'interet de bloquer la visite du domaine directement, et d'obliger de passer par le sous-domaine www ?

Merci
 
WRInaute passionné
Ce n'est pas bloquer, mais rediriger, le visiteur ne sentira rien.
Essayes webrankinfo.com et regardes ce que celà donne, les www sont rajoutés
 
WRInaute discret
juste une question: il faut du coup le faire pour chaque niveau de répertoire ?

Chez moi ca ne marche que pour la page d'acceuil :cry: :?:
 
Nouveau WRInaute
Mon probleme est toujours la :)

Le code :
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.xxxxxxx.com$
RewriteRule ^(.*) http://%{SERVER_NAME}/$1 [L,R=301]
ça marche terrible pour les pages sans rewriting
mais des quel url est deja reecrite la redirection n'est pas sur la page mais sur l'index du site...
 
WRInaute passionné
Et pourtant avec url rewriting celà marche dans les deux sens

Forcer le wwww
Code:
RewriteCond %{HTTP_HOST} !^www.example.com$ 
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]

Forcer sans le www
Code:
RewriteCond %{HTTP_HOST} www.example.com
RewriteRule (.*) http://example.com/$1 [QSA,L,R=301]
 
WRInaute impliqué
Salut,

j'ai déja du rewriting :

Code:
RewriteRule ^(.+)/(.+)\.html$ index.php?url=$1/$2 [L]

le code pour rajouter le www s'il n'existe pas :

Code:
RewriteCond %{HTTP_HOST} !^www.example.com$ 
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]

je le met AVANT ou APRES ?

merci d'avance,

Ludo
 
WRInaute impliqué
Re: interdire monsite.com et obliger www.monsite.com

WebRankInfo a dit:
quelqu'un peut me dire ce qui marche bien dans le httpd.conf pour tout rediriger vers www.webrankinfo.com, sachant que je n'ai pas de sous-domaine ?
Où se trouve donc ce fameux fichier httpd.conf exactement ? Sachant que je suis sur un hébergement mutualisé, est-ce que je peux y avoir accès ?
Car j'aimerais moi aussi interdire l'accès via -http://monsite.com

Merci !
 
WRInaute impliqué
Dans ce cas, je dois m'y prendre comment ? En mettant la règle dans le htaccess de chaque dossier ? 8O
Une redirection ORT ne pourrait-elle pas faire l'affaire ?
 
WRInaute impliqué
C'est bon, ça fonctionne dans le htaccess, j'avais juste oublié le "RewriteEngine on" :)

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.example.com$ 
RewriteRule ^(.*) http://www.example.com/$1 [QSA,L,R=301]
 
WRInaute discret
curieuxmann a dit:
Code:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^([^.]+)\.[^.]+\.[^.]+$
    RewriteCond %{HTTP_HOST} !^www\.[^.]+\.[^.]+$
    RewriteRule ^(.+) %{DOCUMENT_ROOT}/%1$1
A - J'aimerais savoir si la syntaxe/grammaire des quatres lignes ci-dessus correspondent-elles à un language donné ? :?
B - Si oui, existe-t'il une spécification, ou encore une norme (ISO peut-être) traitant de ce code ? :?

Oui, pour partie :

Pour la partie gauche (RewriteXxx), ce sont des directives de configuration d'Apache et des variables d'environnement (%{HTTP_HOST})

Pour la partie de droite, ce sont des expressions régulières.

Voir la documentation Apache URL Rewriting : http://httpd.apache.org/docs/misc/rewriteguide.html
 
WRInaute discret
Si votre hebergeur n'autorise pas les fichiers authconf ou n'utilise pas le mod_rewrite il est possible de forcer l'ajout de "www." via un script php :

Code:
$request_uri=$GLOBALS['REQUEST_URI'];
$domaine=$_SERVER["HTTP_HOST"];
$sous_domaine=substr($domaine,0,strpos($domaine,"."));
if ($sous_domaine!="www")
{
$url="http:/www.URL-DE-VOTRE-SITE.com";
// pour les robots on peu evidemment ajouter cela : 
header("HTTP/1.1 301 Moved Permanently");
    header("Location: ".$url);
    header("Connection: close");

    exit;
}
 
WRInaute occasionnel
Et pour un serveur IIs ? Je viens de déménager un site vers un hébergeur à Londres et pour profiter d'un prix intéressant j'ai choisi un hébergement IIS (il y a ASP et PHP) ; lorsque je leur ai demandé s'ils faisaient de l'UR ils m'ont répondu non mais nous pouvons vous installer le soft que vous voulez...

J'ai trouvé des topics plus généraux (on peut utilser isapirewrite et autre chose mais quoi ?) et je pense qu'il serait intéressant que l'on trouve sur ce fil les solutions spécifiques à IIS. Merci
 
Nouveau WRInaute
Et si...

Super je viens d'appliquer la règle a mon forum ! Merci bien.

Je suis sur Wd-Media... Au tout début j'avais donné l'adresse -http://monadresse.wdmedia-hebergement.net/phpBB2/ puis je suis passé à -www.monadresse.com ...

Comment fait pour que les personnes qui utilisent -http://monadresse.wdmedia-hebergement.net/phpBB2/$variable soit redirigées vers -www.monadresse.com/$variable .

Je vous remercie,
A bientot,
François
 
Nouveau WRInaute
Re: Et si...

lemondeduquad a dit:
Super je viens d'appliquer la règle a mon forum ! Merci bien.

Je suis sur Wd-Media... Au tout début j'avais donné l'adresse -http://monadresse.wdmedia-hebergement.net/phpBB2/ puis je suis passé à -www.monadresse.com ...

Comment fait pour que les personnes qui utilisent -http://monadresse.wdmedia-hebergement.net/phpBB2/$variable soit redirigées vers -www.monadresse.com/$variable .

Je vous remercie,
A bientot,
François

Essaie ca :

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^monadresse.wdmedia-hebergement.net/phpBB2/$ [NC]
RewriteRule ^(.*)$ http://www.monadresse.com/$1 [R=301,L]
 
WRInaute occasionnel
Bonjour,

Merci pour ce fil intéressant, qui m'a permis de rediriger les -www.pourpre.com vers pourpre.com.
J'ai par la suite soumis l'URL -http://www.pourpre.com à Google en lui indiquant qu'il y avait une "permanent redirection to pourpre.com" pour lui demander de repasser sur mes pages.

Questions:
- combien de temps avant la prise en compte ?
- c'est le googlebot qui s'en occupe ?
 
WRInaute impliqué
Pourquoi pas plutot l'inverse ?
pourpre.com. vers -www.pourpre.com
(Les 2 ont un PR6, a priopri tout est pris en compte)
 
WRInaute discret
J'ai placé il y a quelques temps les lignes pour rediriger domain.tld vers -www.domain.tld, et dans la semaine qui à suivis, plus aucune page indexé.

J'ai supprimé le code du htaccess il y a quelques jours, et mes pages commencent à être réindexé..

Une erreur de ma part, ou de mon site ? Ou alors cela vient du code ?
 
WRInaute occasionnel
Depuis que j'ai fait la manip (dans mon cas, le www vers le domaine sans www), Google a désindexé à mort, et c'est seulement maintenant (15 jours après) qu'il revien timidement réindexer mes pages...
 
A
Anonymous
Guest
je prends la discussion en cours et voici ma question

si on a accès au httpconf de apache doit on passer par un htaccess pour faire la redirection monsite.com vers -www.monsite.com ?
ou y a t il une manipulation a faire au niveau d'apache ?

merci
 
WRInaute impliqué
Sous domaine www :

Je viens de faire la remarque suivante :

sur -http://www.tools.darkseoteam.com/, google semble ne faire aucune différence entre la requète marsatak.org et -www.marsatak.org, il ne renvoi que des resultats avec l'url -www.marsatak.org (Alors que l'url marsatak.org fonctionne sur toutes les ages de mon site).

Est ce donc bien que malgrès que www soit aussi un sous domaine, il est interprété de façon intelligente par google?
 
Nouveau WRInaute
:roll: question d'un 2e newbie :

OK pour ne pas diluer le PR ; mais laquelle des 2 adresse priviligier :
monsite.fr
ou -www.monsite.fr

et pourquoi ?
le www est-il si important ?
d'autant que que chez moi le sans www me donne un PR supérieur de 5 au lieu de 4. 8O
 
WRInaute accro
ça serait bien de faire un résumé de ce qui faut faire sur le premier post si c'est possible, ça éviterait de devoir chercher la bonne info dans tout le fil.
 
WRInaute impliqué
xperienss:

les effet entre httpd.conf et .htaccess placé en root sont identique. cependant:
Une modification du httpd.conf implique un restart du serveur, contrairement à la modification du .htaccess
 
Nouveau WRInaute
Kikoo

Je viens d'appliquer ce code a mon htaccess et, sur le coup, j'ai cru que cela ne fonctionnait pas ....
Certainement qu'il faut le temps que le code soit mis a jour sur le serveur?!
En tout cas, ca a fonctionné quelques minutes + tard ...

Enfin, quoi qu'il en soit, c'est impec !

Apparemment, google trouve que les pages qui commencent apar un "www" sont "plus importantes" que celles qui n'en ont pas, même si ce sont les memes pages ....
 
Nouveau WRInaute
Ah ben non ca marche mais, apparemment, ca pose un probleme dans phpmyadmin
J'ai voulu faire une sauvegarde de ma base et, il me mettait des erreurs partout 'you have error in your sql synthax ...' quand je voulais afficher une table
Et, au moment de faire transmettre, dans export.php une erreur aussi

J'ai donc effacé les deux lignes de codes que j'ai ajouté tout à l'heure et, tout refonctionne normalement

C'est normal ca?
 
Nouveau WRInaute
Kikoo tout le monde

J'ai un petit souci ...
Ce code fonctionne très bien sauf pour un dossier de mon hébergement : mon forum phpBB
En effet, si je met monsite.com/forum , le www ne s'ajoute pas.
J'ai déja un url rewriting pour le forum donc, je ne sais pas ce que j'ai lieu de faire pour que les pages du forum aient aussi droit à leur "www"

Donc, dans mon code du fichier htaccess, j'ai mis ca
Code:
RewriteCond %{HTTP_HOST} ^cobayous.com$
RewriteRule ^(.*) http://www.cobayous.com/$1  [QSA,L,R=301]

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

Surement une belle erreur pour la deuxième partie du code hein :roll:
Ben vi, suis novice et, je test ...
Y-a-t-il un ordre spécial a respecter dans ce fichier htaccess?

Et, est-ce que ce code doit etre mis dans le htaccess qui est dans le répertoire du forum ou bien a la racine de mon hébergement?
Je demande ca parce que l'url rewriting que j'ai pour le forum utilise aussi un fichier htaccess qui se trouve dans le répertoire du forum.

Désolée de vous embêter avec toutes ces questions :oops:

Merci d'avance :)
 
Nouveau WRInaute
Je me permet de reposer la meme question qu'a mon post précédent.
En + du problème avec le dossier forum, j'ai constaté un probleme entre l'url rewriting et ma base de données.

En effet, quand l'url rewriting pour le "www" est mis dans le htaccess, je ne peux plus sauvegarder ma base de données et, certains scripts ne fonctionnent plus :?

Quelqu'un a une idée s'il vous plait? :oops:

Merci d'avance
 
Nouveau WRInaute
Personne ? :oops:

C'est bizarre, je viens de recevoir une notification de réponse a ce sujet et, quand je suis venue pour la lire, j'ai eu un message disant que le sujet/message n'existait pas...
 
WRInaute discret
Pour Pomelo :

Si apres avoir mis en ligne ton fichier htaccess (avec les règles pour rediriger tonsite.com vers -www.tonsite.com) tu as des erreurs de scripts..., il s'agit sûrement de l'url d'installation que tu as entré lorsque tu as configuré tes scripts (tes scripts doivent surmement être installé sur tonsite.com et non sur -www.tonsite.com, d'où les erreurs...)
 
WRInaute accro
Bonjour
J'ai mis le code suivant dans le fichier /www/.htaccess

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^!www.example.com$
RewriteRule ^(.*) -http://www.example.com/$1

Avec example.com est le nom de domaine de mon site ( voir profil ).

J'ai fait celà ce matin.
Ce soir, je ne peux plus accéder à mon site, celà donne le message d'erreur: "Cannot connect to the site -www.ortolojf-courses.com, access not authorized".

Bizarre, non ?

Jean Francois Ortolo
 
WRInaute accro
ortolojf a dit:
Ce soir, je ne peux plus accéder à mon site, celà donne le message d'erreur: "Cannot connect to the site -www.ortolojf-courses.com, access not authorized".
Bonjour,

Ici ton site est accessible et la redirection 301 fonctionne de "sans www" vers "www".

Que veux-tu dire par "ne peux plus accéder" ?

Jean-Luc
 
WRInaute accro
Je fais amende honorable...

Cà marche maintenant, mon hébergeur OVH était probablement en train de faire des backups du serveur où se trouve mon site.

Et même... ça marche impec, aucun problème quand j'utilise comme url, l'url suivante: -http://domain.tld/index.html ou domain.tld est le nom de domaine de mon site. L'url qui apparaît tout de suite après dans le navigateur, est bien: -http://www.domain.tld/ et la page s'affiche. Cependant, le nom de fichier index.html n'apparaît pas, ce que j'attribue au fonctionnement de reconnaissance d'adresse par défaut de mon navigateur Firefox 1.0.4 sous Linux Fedora Core 3.

Merci beaucoup.

Jean Francois Ortolo
 
WRInaute discret
salut
j'ai utilisé ce code sur le site de mon profil c'est bon tout marche, par contre sur mon site -http://www.cuisine-et-mets.com j'ai utilisé mambo et j'ai un htaccess comme suit :

Code:
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php

quant je rajoute les lignes pour les www je peut tjrs atteindre l'adresse avec les 3 www mais l'adresse sans me fais une erreur 404 ?
quelqu'un pourrait m'éclairer
merci
 
Nouveau WRInaute
FrAnnuaire a dit:
Pour Pomelo :

Si apres avoir mis en ligne ton fichier htaccess (avec les règles pour rediriger tonsite.com vers -www.tonsite.com) tu as des erreurs de scripts..., il s'agit sûrement de l'url d'installation que tu as entré lorsque tu as configuré tes scripts (tes scripts doivent surmement être installé sur tonsite.com et non sur -www.tonsite.com, d'où les erreurs...)

Bonjour,
Pour mon forum phpBB, je viens de changer l'URL d'installation : j'ai ajouté les WWW dans la config générale mais, cela ne fonctionne toujours pas.
En fait, c'est pas compliqué, j'ai mis le code dans mon htaccess à la racine de l'hébergement et, ca marche pour tous les sous dossiers sauf ceux qui ont déja un fichier htaccess.
Donc, comme j'utilise l'url rewritting dans mon forum et sur mon annuaire, la redirection vers le "WWW" ne fonctionne pas pour ces 2 dossiers.

Dois-je ajouter un code dans les htaccess de chaque dossier? (l'annuaire et le forum) et si oui, comment l'adapter? Je suis hébergée sur OVH.

Merci d'avance
 
Nouveau WRInaute
Blini a dit:
Bonjour,

Merci pour ce fil intéressant, qui m'a permis de rediriger les -www.pourpre.com vers pourpre.com.
J'ai par la suite soumis l'URL -http://www.pourpre.com à Google en lui indiquant qu'il y avait une "permanent redirection to pourpre.com" pour lui demander de repasser sur mes pages.

Questions:
- combien de temps avant la prise en compte ?
- c'est le googlebot qui s'en occupe ?
Quelqu'un peut m'expliquer ou on indique a google qu'il y a permanente redirection ?

Merci par avance.
 
WRInaute impliqué
Pomelo a dit:
En fait, c'est pas compliqué, j'ai mis le code dans mon htaccess à la racine de l'hébergement et, ca marche pour tous les sous dossiers sauf ceux qui ont déja un fichier htaccess.
Donc, comme j'utilise l'url rewritting dans mon forum et sur mon annuaire, la redirection vers le "WWW" ne fonctionne pas pour ces 2 dossiers.

Dois-je ajouter un code dans les htaccess de chaque dossier? (l'annuaire et le forum) et si oui, comment l'adapter? Je suis hébergée sur OVH.

Merci d'avance
J'ai exactement la même chose. Je viens de passer une heure à tenter des trucs, ca ne veut toujours pas rediriger en ce qui concerne mon forum.
 
WRInaute passionné
le .htaccess, ça marche bien pour la racine du site, mais quelqu'un connait il le complément à ajouter pour que cela fonctionne sur l'ensemble?

EDIT: RECTIF, j'avais un htaccess dans un autre répertoire, ça marche impeccable.... ....désolé :wink:
 
WRInaute impliqué
Pomelo a dit:
FrAnnuaire a dit:
Pour Pomelo :

Si apres avoir mis en ligne ton fichier htaccess (avec les règles pour rediriger example.com vers -www.example.com) tu as des erreurs de scripts..., il s'agit sûrement de l'url d'installation que tu as entré lorsque tu as configuré tes scripts (tes scripts doivent surmement être installé sur example.com et non sur -www.example.com, d'où les erreurs...)

Bonjour,
Pour mon forum phpBB, je viens de changer l'URL d'installation : j'ai ajouté les WWW dans la config générale mais, cela ne fonctionne toujours pas.
En fait, c'est pas compliqué, j'ai mis le code dans mon htaccess à la racine de l'hébergement et, ca marche pour tous les sous dossiers sauf ceux qui ont déja un fichier htaccess.
Donc, comme j'utilise l'url rewritting dans mon forum et sur mon annuaire, la redirection vers le "WWW" ne fonctionne pas pour ces 2 dossiers.

Dois-je ajouter un code dans les htaccess de chaque dossier? (l'annuaire et le forum) et si oui, comment l'adapter? Je suis hébergée sur OVH.

Merci d'avance

En ce qui me concerne avec phpbb chez ovh, j'utilise :
Code:
RewriteEngine On
#Pour que toute les requètes pointent vers -www.example.com
#au lieu de example.com.
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [QSA,L,R=301]
Dans mon .htaccess et ça marche.

Il y a pas mal de truc sur les .htaccess et phpbb, en plus de ce qui est dit sur le mod là : https://www.webrankinfo.com/forum/t/url-rewriting-titres-pour-phpbb-v2-solution-globale.31831/

++
 
WRInaute occasionnel
Bonjour,

j'ai inseré le code suivant dans mon .htaccess à la racine de mon site :

Code:
RewriteCond %{HTTP_HOST} !^www.terreslegends.info$
RewriteRule ^(.*)   http://www.terreslegends.info/$1  [QSA,L,R=301]

Et pourtant, quand j'accède à mon forum par l'adresse -http://terreslegends.info, ça reste comme ça, ça ne passe pas sur -http://www.terreslegends.info :?

Merci d'avance, ManiaGames
 
WRInaute impliqué
ManiaGames a dit:
Bonjour,

j'ai inseré le code suivant dans mon .htaccess à la racine de mon site :

Code:
RewriteCond %{HTTP_HOST} !^www.terreslegends.info$
RewriteRule ^(.*)   http://www.terreslegends.info/$1  [QSA,L,R=301]

Et pourtant, quand j'accède à mon forum par l'adresse http://terreslegends.info, ça reste comme ça, ça ne passe pas sur http://www.terreslegends.info :?

Merci d'avance, ManiaGames

Heu je veux pas dire, mais as tu bien mis "RewriteEngine On" avant ces lignes dans ton .htaccess ?
 
Nouveau WRInaute
Bonjour,
J'ai un probleme avec ma redirection de example.com vers www.example.com ,
elle marche pour les pages a la racine de mon site (le htaccess est a la racine du site) mais elle ne redirige pas les pages se trouvant dans des dossier, faut il mettre un htaccess dans chaque repertoire du site ?

Voici mon htaccess :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]
[/code]
 
WRInaute accro
je suis mauvais en rewritting, mais là je peux t'aider ;)

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]
 
Nouveau WRInaute
Merci, mais sa donne le meme resultat :/ les pages a la racine son bien redirigé, mais pas les autres, ou alors il faut que je mette ce htaccess dans chaque repertoire ?
 
WRInaute impliqué
Thierry Bugs a dit:
je suis mauvais en rewritting, mais là je peux t'aider ;)

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]

moi je dirai plus :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com 
RewriteRule (.*) http://www.example.com/$1 [QSA,L,R=301]

et voir, en fonction de ton hébergeur :
Code:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [QSA,L,R=301]


++
 
WRInaute accro
salut à tous
suite à l'article d'olivier, je crois que je vais empêcher de voir -http://exemple.com


-http://exemple.com >>>> -http://www.exemple.com
seulement voila, j'ai des sous-domaines, ce qui fait qu'avec ces codes ça donne :
-http://sousdomaine1.exemple.com >>> -http://www.exemple.com puisque le test regarde s'il n'y a pas les "www", ici il n'y sont pas, donc redirection.

D'où ma question : comment faire pour empêcher ce probleme ?

merci d'avance de votre réponse
 
WRInaute accro
je ne l'ai pas encore mis en place
mais je pensais utiliser celui-là :
Code:
    RewriteCond %{HTTP_HOST} !^www.webrankinfo.com$ 
    RewriteRule ^(.*)   https://www.webrankinfo.com$1  [QSA,L,R=301]
 
WRInaute impliqué
TOMHTML a dit:
salut à tous
suite à l'article d'olivier, je crois que je vais empêcher de voir -http://exemple.com


-http://exemple.com >>>> -http://www.exemple.com
seulement voila, j'ai des sous-domaines, ce qui fait qu'avec ces codes ça donne :
-http://sousdomaine1.exemple.com >>> -http://www.exemple.com puisque le test regarde s'il n'y a pas les "www", ici il n'y sont pas, donc redirection.

D'où ma question : comment faire pour empêcher ce probleme ?

merci d'avance de votre réponse

à mon avis il suffit de mettre les règles pour tes sous domaines (enlever ou forcer le www avec ce même code que j'ai filé) avant celles concerant ton domaine, comme ça apache ne se trompera plus.

++
 
WRInaute impliqué
TOMHTML a dit:
je ne l'ai pas encore mis en place
mais je pensais utiliser celui-là :
Code:
    RewriteCond %{HTTP_HOST} !^www.webrankinfo.com$ 
    RewriteRule ^(.*)   https://www.webrankinfo.com$1  [QSA,L,R=301]

heu on post en même temps lol
Donc plutot :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [QSA,L,R=301]

et pour les sous domaines :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sousdomaine.example.com
RewriteRule (.*) http://www.sousdomaine.example.com/$1 [QSA,L,R=301]
 
WRInaute accro
dcz a dit:
TOMHTML a dit:
je ne l'ai pas encore mis en place
mais je pensais utiliser celui-là :
Code:
    RewriteCond %{HTTP_HOST} !^www.webrankinfo.com$ 
    RewriteRule ^(.*)   https://www.webrankinfo.com$1  [QSA,L,R=301]

heu on post en même temps lol
Donc plutot :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [QSA,L,R=301]

et pour les sous domaines :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sousdomaine.example.com
RewriteRule (.*) http://www.sousdomaine.example.com/$1 [QSA,L,R=301]

Non justement, si je fais ça, ça va faire
-http://sousdomaine.exemple.com >>>> -http://www.sousdomaine.exemple.com
Or moi je souhaite que ça reste -http://sousdomaine.exemple.com puisque c'est déjà référencé comme ça
non en fait je cherche JUSTE a empêcher "-http://exemple.com"
 
Nouveau WRInaute
et pour les sous domaines :
Code:
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sousdomaine.example.com
RewriteRule (.*) http://www.sousdomaine.example.com/$1 [QSA,L,R=301]

Pourquoi les sous-domaine doivent aussi etre redirigé :? ? ladresse de "base" d'un site cest www.example.com, mais celle d'un sous-domaine cest sousdomaine.example.com non ?

Sinon pour mon probleme a moi, et ca ne marche toujours pas ! :( j'ai tout essayé, je suis sous OVH si ca peut changer quelque chose, je resume le pb :
les pages a la racine sent redirigés vers WWW. mais les autres pages dans les repertoires, elles, ne sont pas redirigés, j'ai essayé toutes le solution proposé au dessus, Options +FollowSymlinks tout ça, j'ai recopié tout les code mais ca ne marche toujours pas :(
 
WRInaute impliqué
soit, bah tu fait :
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.sousdomaine.example.com 
RewriteRule (.*) http://sousdomaine.example.com/$1 [QSA,L,R=301]


Parce que bien sur que www.sousdomaine.example.com marche.
darkseoteam utilise www pour tous ses sous domaines ...

Par contre ça regle pas ton pb pour les pages interieurs du site.
J'avais jamais remarqué, mais bon, je trouve pas cela trop grave, même si une solution serait la bien venu


++
 
WRInaute accro
donc d'après toi dcz, je dois cumuler les deux code pour faire

-http://sousdomaine.. >> -http://www.sousdomaine... >> -http://sousdomaine..


ça le fait pas trop, limite ça pourrait continuer comme ça en boucle :S
 
WRInaute impliqué
TOMHTML a dit:
donc d'après toi dcz, je dois cumuler les deux code pour faire

-http://sousdomaine.. >> -http://www.sousdomaine... >> -http://sousdomaine..


ça le fait pas trop, limite ça pourrait continuer comme ça en boucle :S

mais non, tu choisis l'un ou l'autre pas les deux.
soit tu imposes www.sousdomeaine.example.com soit tu imposes sousdomaine.example.com !

Et à la façon dont sont traités ces deux liens sur ce forum, tu peux comprende le choix de darkseoteam de garder le www pour les sous domaines ;)
 
WRInaute accro
Ah oui ok, donc moi je veux imposer "sousdomaine.exemple.com" sans www SAUF pour la racine du site, bref empêcher "exemple.com" (qui redirige vers "www.exemple.com")
ça existe pas le "SAUF" dans le htaccess ? :D





edit :
si j'ai bien tout compris dans mon cas y'a que ça qui marche
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
       // "si l'adresse est http://example.com"
RewriteRule (.*) http://www.example.com/$1 [QSA,L,R=301]
      // "alors on redirige vers http://www.example.com/chépasquoi"
 
WRInaute accro
je n'y comprends plus rien (mais c'est normal)
celui que j'ai indiqué fonctionne très bien on me l'a donné sur le forum (y compris pour les répertoires).
Olivier, Pourquoi celui que tu proposes pour les lecteurs WRI est meilleur ?
Dois-je changer ?
 
Olivier Duffez (admin)
Membre du personnel
Thierry, si tu parles de ce message, ton code est presque celui que j'ai utilisé dans un de mes exemples
la seule différence que je trouve c'est l'utilisation de [NC] pour que ça marche avec des majuscules et des minuscules

Peux-tu préciser ce qui te va pas ?
 
WRInaute discret
Bon je suppose qu'il faut procéder de la même manière pour chaque page susceptible d'être dupliquée.
Alors comment doit-on écrire le .htaccess ?
Comme ceci ? :

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.page1\.com [NC]
RewriteRule (.*) http://www.page1.com/$1 [QSA,R=301,L]

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.page2\.com [NC]
RewriteRule (.*) http://www.pages2.com/$1 [QSA,R=301,L]

etc...

Merci de vos réponses.
 
WRInaute accro
Olivier
j'utilise
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]

Et ça marche parfaitement meme avec les répertoires et sous répertoires.
Tu parles de majuscules mais ça marche aussi parfaitement avec ou sans.

Dcz proposes lui :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [QSA,L,R=301]

Tu proposes pour wri :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [QSA,R=301,L]


Donc ma question c'est quel est le meilleur ? Et Pourquoi ?
 
WRInaute impliqué
très bonne question.

Et pour TOMHTML, pourquoi n'utilise tu pas des .htaccess different pour chaque domaine et sous domaines dans leur dossier respectif?
 
Olivier Duffez (admin)
Membre du personnel
Quelques détails :

ligne RewriteCond :
le \ devant le . est + rigoureux
le [NC] est également + rigoureux, tant mieux si ça marche sur ton serveur avec les majsucules

ligne RewriteRule :
perso je pense que ^(.*) et (.*) sont identiques

ensuite pour le reste des remarques, ça dépend si tu gères des sous-domaines autres que www ou pas, et si tu veux imposer ou pas le sous-domaine www en tant que sous-domaine par défaut
 
Nouveau WRInaute
Comme pour beaucoups d'entre nous ca ne marche pas pour les dossiers qui ont déja un .htaccess

Alors il faut mettre le code dans tout les repertoires

comment transposer ce code pour un dossier ex "forum"

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [QSA,R=301,L]

-http://www.example.com/forum/
 
WRInaute impliqué
il faut parfois le réécrire dans les répertoires soumis à rewr1te ;)

à mon avis, des soucis d'antagonisme et de priorité
et aussi peut être des réglages des hébergeurs ...
parce que j'ai eu le cas où ça marchait pendant plusieurs mois avec un seul htaccess puis subitement, il fallait réécrire la règle dans le dossier rewr1té ...
 
Nouveau WRInaute
Pour moi ca ne marche pas dans tout mes dossiers notement celui de phpbb rewrité??? et marche tres bien dans les autres dossiers
 
WRInaute impliqué
dcz a dit:
WebRankInfo a dit:
si tu le mets dans le fichier.htaccess situé dans http://www.example.com/ ça devrait marcher aussi pour les répertoires (ça marche sur WRI)

Y'a meme que cette solution qui semble marcher chez ovh pour imposer le www (ou pas d'ailleurs) dans tous les dossiers, merci ;)

++

j'ai oublié de dire, en ajoutant les regles rewrites eventuelles des sous dossiers dans le même .htaccess à la racine, plutôt que de le diviser.

++
 
Nouveau WRInaute
Et moi j'ai une question à deux balles:

Comment faire la même chose sans url rewriting?

on peut faire des http redirect?
 
Nouveau WRInaute
dcz a dit:
dcz a dit:
WebRankInfo a dit:
si tu le mets dans le fichier.htaccess situé dans http://www.example.com/ ça devrait marcher aussi pour les répertoires (ça marche sur WRI)

Y'a meme que cette solution qui semble marcher chez ovh pour imposer le www (ou pas d'ailleurs) dans tous les dossiers, merci ;)

++

j'ai oublié de dire, en ajoutant les regles rewrites eventuelles des sous dossiers dans le même .htaccess à la racine, plutôt que de le diviser.

++

ahhhh ba voila ! ca marche enfin :) Merci !
 
WRInaute discret
Bonjour,

Je cherche à forcer le www et j'ai suivi les instructions donnée ici

Pour info je suis chez OVH.

J'utilise le .htaccess suivant:
RewriteEngine on
RewriteCond %{HTTP_HOST} /!^www.taxi-christine.fr [NC]
RewriteRule (.*) /http://www.taxi-christine.fr$1 [QSA,R=301,L]
RewriteRule ^index_en.php$ /index.php?page=index_en.php [L]
RewriteRule ^noct-en-bresse_en.php$ /index.php?page=noct-en-bresse_en.php [L]
RewriteRule ^montrevel_en.php$ /index.php?page=montrevel_en.php [L]
RewriteRule ^partenaires_en.php$ /index.php?page=partenaires_en.php [L]
RewriteRule ^bresse.php$ /index.php?page=bresse.php [L]
RewriteRule ^montrevel.php$ /index.php?page=montrevel.php [L]
RewriteRule ^faq.php$ /index.php?page=faq.php [L]
RewriteRule ^en_route.php$ /index.php?page=en_route.php [L]
RewriteRule ^agenda_en.php$ /index.php?page=agenda_en.php [L]
RewriteRule ^contact.php$ /index.php?page=contact.php [L]
RewriteRule ^noct-en-bresse.php$ /index.php?page=noct-en-bresse.php [L]
RewriteRule ^services_en.php$ /index.php?page=services_en.php [L]
RewriteRule ^bresse_en.php$ /index.php?page=bresse_en.php [L]
RewriteRule ^tarifs_en.php$ /index.php?page=tarifs_en.php [L]
RewriteRule ^en_route_en.php$ /index.php?page=en_route_en.php [L]
RewriteRule ^faq_en.php$ /index.php?page=faq_en.php [L]
RewriteRule ^prestation_en.php$ /index.php?page=prestation_en.php [L]
RewriteRule ^contact_en.php$ /index.php?page=contact_en.php [L]
RewriteRule ^liens_en.php$ /index.php?page=liens_en.php [L]
RewriteRule ^agenda.php$ /index.php?page=agenda.php [L]
RewriteRule ^pageajou.php$ /index.php?page=pageajou.php [L]

..Sans résultat.. :(

La redirection forcée semble pourtant compatible avec le rewriting,non?

Merci pour votre aide. :)
 
WRInaute discret
Bon, on a vu que le code proposé :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [QSA,R=301,L]
ne fonctionne pas pour les sous-dossiers sous URL rewriting.

Donc pour ceux qui font de l'URL rewriting dans des sous dossiers et qui préfèrent avoir plusieurs htaccess plutot qu'un gros à la racine, quel code doit-on rajouter (dans chaque sous dossier) ?
J'ai évidemment essayé ça mais ça ne fonctionne pas... on ne se moque pas merci 8O

Code:
[code]RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com/sousdossier [NC]
RewriteRule (.*) http://www.example.com/sousdossier $1 [QSA,R=301,L]
[/code]

Merci de m'éclairer :wink:
 
WRInaute impliqué
chitopila a dit:
Bon, on a vu que le code proposé :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [QSA,R=301,L]
ne fonctionne pas pour les sous-dossiers sous URL rewriting.

Donc pour ceux qui font de l'URL rewriting dans des sous dossiers et qui préfèrent avoir plusieurs htaccess plutot qu'un gros à la racine, quel code doit-on rajouter (dans chaque sous dossier) ?
J'ai évidemment essayé ça mais ça ne fonctionne pas... on ne se moque pas merci 8O

Code:
[code]RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com/sousdossier [NC]
RewriteRule (.*) http://www.example.com/sousdossier $1 [QSA,R=301,L]
[/code]

Merci de m'éclairer :wink:


Perso j'ai pas trouvé d'autres solutions que de tout mettre à la racine. Je me suis d'ailleurs rendu compte depuis que le fait d'avoir des .htaccess dans des sous dossiers pouvais aussi poser des problème avec celui de la racine.
De plus, je ne suis pas certain que cela change vraimet quelquechose d'en avoir un gros plutôt que plusieurs petits question rapidité.
Le nombre de règles à prendre en compte est de toute façon le même pour peut que tu ais des visiteurs dans tous les dossiers concernés.

Par contre, j'ai laissé mes deny from all et autres .htpasswd à leur place sans problème.

++
 
WRInaute discret
chitopila a dit:
Bon, on a vu que le code proposé :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [QSA,R=301,L]
ne fonctionne pas pour les sous-dossiers sous URL rewriting.

Donc pour ceux qui font de l'URL rewriting dans des sous dossiers et qui préfèrent avoir plusieurs htaccess plutot qu'un gros à la racine, quel code doit-on rajouter (dans chaque sous dossier) ?
J'ai évidemment essayé ça mais ça ne fonctionne pas... on ne se moque pas merci 8O

Code:
[code]RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com/sousdossier [NC]
RewriteRule (.*) http://www.example.com/sousdossier $1 [QSA,R=301,L]
[/code]

Merci de m'éclairer :wink:

En effet ce petit détail a son importance.Ca ne risquait pas de fonctionner chez moi.
Pour indication j'ai modifié le htaccess avant de le poster et les fichiers etaient en réalité dans un sous repertoire pour les tests!

Bon courage pour vos recherches.
 
WRInaute discret
Perso j'ai pas trouvé d'autres solutions que de tout mettre à la racine. Je me suis d'ailleurs rendu compte depuis que le fait d'avoir des .htaccess dans des sous dossiers pouvais aussi poser des problème avec celui de la racine.
De plus, je ne suis pas certain que cela change vraimet quelquechose d'en avoir un gros plutôt que plusieurs petits question rapidité.

La question est là. Quelqu'un sait-il si un gros fichier .htaccess à la racine peut ralentir la connexion à une page ou bien si ça n'a aucune conséquence ?
 
Discussions similaires
Haut