IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[.htaccess] Forcer le www mais garder les sous-domaines


Sujet :

Apache

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 60
    Points : 33
    Points
    33
    Par défaut [.htaccess] Forcer le www mais garder les sous-domaines
    Bonjour,
    je souhaiterais mettre un fichier htaccess sur mes sites et ainsi force le www.

    c'est à dire de passer de -http://monsite.fr à -http://www.monsite.fr

    j'ai trouvé des codes pour faire cela mais le hic c'est qu'il redirige également mais sous domaine sur le domaine principal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^monsite.org$
    RewriteRule ^(.*) www.monsite.org... [QSA,L,R=301]
    On m'avait proposé ça aussi mais le sous domaine était quand même remplacer...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #Obliger le www
    RewriteCond %{HTTP_HOST} ^exemple.com$
    RewriteRule ^(.*) http://www.exemple.com/$1 [QSA,L,R=301]
    #Obliger le sous domaine
    RedirectPermanent /repertoire-ssd1 http://ssd1.exemple.com
    Avez vous une idée du code ?
    Je suis sur un serveur dédié chez OVH mais toutefois j'aimerais trouver une solution pour les serveurs mutualisés.

    merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ton premier code devrait fonctionner correctement. Si ce n'est pas le cas, c'est qu'il y a un problème ailleurs je dirais. Est-ce que tu as d'autres règles dans ce .htaccess ? Peux-tu nous les donner ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 60
    Points : 33
    Points
    33
    Par défaut
    J'ai rien de spécial juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    ErrorDocument 404 /404.html

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Arf... Tu peux copier-coller les Rewrite... tels qu'ils sont sauf en changeant le nom du domaine, histoire de voir ce qu'il se cache derrière les points de suspension ?

    Sinon, y a un reverse proxy en frontal ? C'est une autre explication possible.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 60
    Points : 33
    Points
    33
    Par défaut
    Je force le www et le index.php / htm qui est supprimé pour laisser place au nom de domaine.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.dom\.fr [NC]
    RewriteRule (.*) http://www.dom.fr/$1 [QSA,R=301,L]
    ErrorDocument 404 /404.html
    RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP
    RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Forcément, avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{HTTP_HOST} !^www\.dom\.fr [NC]
    qui signifie littéralement "tout ce qui n'est pas www.dom.fr", tes sous-domaines sont également redirigés s'ils pointent sur ce document root.

    Donc de deux choses l'une : soit il est normal que les sous-domaines pointent sur ce même domaine et dans ce cas il faut changer la condition de redirection ; soit ce n'est pas normal et il faut voir ce qui ne va pas, en particulier la configuration des hôtes virtuels.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 60
    Points : 33
    Points
    33
    Par défaut
    j'ai mis et le site ne fonctionne plus :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
    RewriteRule (.*) http://www.dom.fr/$1 [QSA,R=301,L]
    ErrorDocument 404 /erreur-404.htm
    RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP
    RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Oui, là tu es un peu radical : tu as créé une boucle infinie en redirigeant systématiquement tout sur http://www.dom.fr/, y compris ce qui est déjà http://www.dom.fr/... Il faut laisser une condition : quand je disais de changer la condition, je voulais dire la préciser davantage, dire par exemple "si dom.fr" (sans le www) pour que les sous-domaines continuent de fonctionner correctement, ce que tu donnais au début, quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^dom\.fr [NC]
    RewriteRule (.*) http://www.dom.fr/$1 [QSA,R=301,L]
    ErrorDocument 404 /404.html
    RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP
    RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]
    Mais vu le problème que tu rencontres en ce moment, pour tester il va falloir que tu purges le cache de ton navigateur avant de pouvoir tester.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 60
    Points : 33
    Points
    33
    Par défaut
    c'est déjà mieux mais mon sous domaine est toujours redirigé vers le www :s

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Trop bizarre... Tu utilises quelle URL pour tester ? Ca donne la même chose si tu commentes les 2 dernières lignes de ton .htaccess (les 2 lignes sur le .php et .html) ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. Mon htaccess ne fonctionne pas avec les sous-domaines
    Par pierrot10 dans le forum Apache
    Réponses: 3
    Dernier message: 04/06/2012, 08h54
  2. Réponses: 2
    Dernier message: 21/02/2012, 09h41
  3. Un .htaccess pour supprimer les sous-domaines
    Par zarohn dans le forum Apache
    Réponses: 8
    Dernier message: 10/05/2011, 03h23
  4. Réponses: 5
    Dernier message: 05/03/2009, 13h09
  5. masquer un champs mais garder les evenements ?
    Par Pymm dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/07/2005, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo