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 :

1&1 : problème de redirection .htaccess pour éviter duplication de URL


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Par défaut 1&1 : problème de redirection .htaccess pour éviter duplication de URL
    Bonjour,

    Je viens de découvrir votre magnifique forum. Que d'information disponible ici, Bravo!

    Je suis hébergé chez 1&1 aux USA et j'ai un petit forum. Afin d'éviter toute duplication de mes pages pour les moteurs de recherche, etc. je désire rediriger tous les URL qui sont NON-www vers des URL avec www.

    Après avoir trouvé plein d'information sur Internet décrivant un problème similaire, je n'ai pas encore réussi à faire fonctionner mon script, donc, je me décide enfin à demander de l'aide puisque je n'ai pas encore trouvé de solution (sait-on jamais).

    J'ai essayé plein de variantes différentes et j'ai même demandé au support (sic) de 1&1 de m'aider.

    Voici les différents .htaccess que j'ai essayé sans succès:

    À noter que la ligne suivante que vous retrouvez dans tous les fichiers qui suivent est simplement pour redirigerla page index.html vers la page principale du forum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Redirect 301 /index.html http://www.mondomaine.ca/forum/index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    AddType x-mapp-php5 .php
    Redirect 301 /index.html http://www.mondomaine.ca/forum/index.php
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^mondomaine\.ca$ [NC]
    RewriteRule ^(.*)$ http://www.mondomaine.ca/forum/$1 [L,R=301]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    AddType x-mapp-php5 .php
    Redirect 301 /index.html http://www.mondomaine.ca/forum/index.php
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} !^www\.mondomaine\.ca
    RewriteRule (.*) http://www.mondomaine.ca/$1 [R=301,L]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    AddType x-mapp-php5 .php
    Redirect 301 /index.html http://www.mondomaine.ca/forum/index.php
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^mondomaine\.ca [NC]
    RewriteRule (.*) http://www.mondomaine.ca/$1 [R=301,L]
    Ce que 1&1 m'ont dit de faire mais qui ne fonctionne toujours pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    AddType x-mapp-php5 .php
    Redirect 301 /index.html http://www.mondomaine.ca/forum/index.php
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^mondomaine\.ca$ [NC]
    RewriteRule ^(.*)$ http://www.mondomaine.ca/forum/$1 [L,R=301]
    </IfModule>
    Dans tous les cas, si je tape ceci:
    http://mondomaine.ca je suis bien redirigé vers la page
    http://www.mondomaine.ca/forum/index.php (probablement en raison de ma première ligne Redirect 301)

    mais aussitôt que j'essaie quelque chose du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://mondomaine.ca/forum/showthread.php?t=258741
    je ne suis pas redirigé vers ce que j'aimerais obtenir soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.mondomaine.ca/forum/showthread.php?t=258741
    Alors, je suis vraiment sans solution et complètement perdu. En plus, je ne connais rien à la programmation. J'ai besoin d'aide!

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Oui, mais vous tombez sur quoi actuellement ? Vous videz votre cache entre chaque essai ? Il n'y a pas d'autres règles/redirections, même ailleurs ?

    En théorie, il ne devrait pas y avoir de nouveau la partie forum dans le chemin de redirection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} =mondomaine.ca [NC]
    RewriteRule ^.*$ http://www.mondomaine.ca/$0 [L,R=permanent]
    Mais ce serait plus simple à gérer au niveau du VH ...

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Par défaut
    Citation Envoyé par julp Voir le message
    Oui, mais vous tombez sur quoi actuellement ?
    J'ai édité la dernière partie de mon premier message, on dirait que le forum ici n'avait pas bien pris mes URL.

    Donc:
    Aussitôt que j'essaie quelque chose du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://mondomaine.ca/forum/showthread.php?t=258741
    Je ne suis pas redirigé vers ce que j'aimerais obtenir soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.mondomaine.ca/forum/showthread.php?t=258741
    donc, le lien demeure comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://mondomaine.ca/forum/showthread.php?t=258741
    avec comme résultat un membre non-connecté et des URL dupliqués.

    Citation Envoyé par julp Voir le message
    Vous videz votre cache entre chaque essai ?
    Oui, je vide complètement le cache après chaque essai.

    Citation Envoyé par julp Voir le message
    Il n'y a pas d'autres règles/redirections, même ailleurs ?
    Non.

    Citation Envoyé par julp Voir le message
    En théorie, il ne devrait pas y avoir de nouveau la partie forum dans le chemin de redirection.
    J'ai aussi essayé sans la partie forum.

    Citation Envoyé par julp Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} =mondomaine.ca [NC]
    RewriteRule ^.*$ http://www.mondomaine.ca/$0 [L,R=permanent]
    Qu'est-ce que c'est le signe "=" sur votre 3eme ligne?

    Citation Envoyé par julp Voir le message
    Mais ce serait plus simple à gérer au niveau du VH ...
    Que voulez-vous dire? Qu'est-ce que le VH?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Pouvez-vous remettre Options +FollowSymLinks ? Est-ce qu'une règle de réécriture toute simple fonctionne ?

    Le = c'est pour que le paramètre soit considéré comme une chaîne littérale et non un motif.

    Oui, avec un VirtualHost à part, dédié à monforum.ca, il aurait juste suffit d'une règle Redirect. C'est une façon de faire, suivant les besoins et possibilités.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Par défaut
    Citation Envoyé par julp Voir le message
    Pouvez-vous remettre Options +FollowSymLinks ? Le = c'est pour que le paramètre soit considéré comme une chaîne littérale et non un motif.
    Je viens d'essayer ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    AddType x-mapp-php5 .php
    Redirect 301 /index.html http://www.mondomaine.ca/forum/index.php
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} =mondomaine [NC]
    RewriteRule ^.*$ http://www.mondomaine/$0 [L,R=permanent]
    J'obtiens encore le même résultat.


    Citation Envoyé par julp Voir le message
    Est-ce qu'une règle de réécriture toute simple fonctionne ?
    Oui, si j'entre ceci dans mon .htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine on
    RewriteRule testpage\.html http://www.google.com [R]
    et que je l'envoie sur le serveur (toujours dans le server root)

    Dans mon navigateur, je tape l'adresse suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.mondomaine.ca/testpage.html
    J'arrive sur la page de Google, preuve que le mod_rewrite fonctionne.


    Citation Envoyé par julp Voir le message
    Oui, avec un VirtualHost à part, dédié à mondomaine.ca, il aurait juste suffit d'une règle Redirect. C'est une façon de faire, suivant les besoins et possibilités.
    Par virtual host, vous voulez dire, le type de serveur? Je suis sur un serveur share mais 1&1 m'ont dit que le mod_rewrite fonctionnait et avec le test que je vous ai montré, effectivement ça fonctionne. Alors pourquoi est-ce que l'autre partie ne fonctionne pas elle? Je suis toujours dans le brouillard.

    Je veux simplement éviter d'avoir les URL NON-www dédoublés et les rediriger vers mes URL avec www. Je ne croyais pas que cela serait si difficile d'arriver à obtenir cela.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    mondomaine.ca et www.mondomaine.ca ont bien le même DocumentRoot à la base (ils pointent bien sur le même répertoire) ? Il n'y a pas déjà quelque chose en place quelque part ailleurs pour l'"émuler" ?

    Citation Envoyé par Newbeee Voir le message
    si j'entre ceci dans mon .htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine on
    RewriteRule testpage\.html http://www.google.com [R]
    et que je l'envoie sur le serveur (toujours dans le server root)

    Dans mon navigateur, je tape l'adresse suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.mondomaine.ca/testpage.html
    J'arrive sur la page de Google, preuve que le mod_rewrite fonctionne.
    Même chose en demandant http://mondomaine.ca/testpage.html cette fois.

    Pour l'entête HTTP_HOST : vous créez un script PHP http_host.php tel que :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    var_dump($_SERVER['HTTP_HOST']);
    Par http://mondomaine.ca/http_host.php doit afficher ce que vous appelez mondomaine.ca
    Par http://www.mondomaine.ca/http_host.php doit afficher "www.mondomaine.ca"

    Mais, bon, à travailler avec des données fictives on a peu de chances d'avoir du concret surtout s'il y a erreur sur l'adaptation même des règles.

Discussions similaires

  1. Redirection HTACCESS pour site bilingue
    Par korbn dans le forum Apache
    Réponses: 8
    Dernier message: 01/12/2011, 22h09
  2. problème de redirection htaccess
    Par kaayna dans le forum Apache
    Réponses: 1
    Dernier message: 11/01/2011, 21h00
  3. Réponses: 3
    Dernier message: 22/04/2009, 05h59
  4. problème de redirection (.htaccess)
    Par mdr_cedrick dans le forum Apache
    Réponses: 2
    Dernier message: 02/06/2008, 14h11
  5. Réponses: 2
    Dernier message: 15/05/2008, 19h45

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