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 :

Redirection dossier vers le page d'accueil


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut Redirection dossier vers le page d'accueil
    Hello
    J'ai besoin d'un coup de main parce que l'.htaccess c'est vraiment pas mon truc.
    J'ai d'anciennes URL comme ceci
    -http://www.mysite.com/?category=home/
    et comme celle-là
    -http://www.mysite.com/home/
    que je souhaite rediriger de manière permanente
    vers :
    -http://www.mysite.com/
    C'est important car Google me fait le coup du duplicate content du fait que ces 2 URL fonctionnent et qu'elles encore inscrites dans son index.
    Je lui demandé de les supprimer mais comme des liens externes doivent encore exister quelque part il me les ré-intègrent systématiquement.
    Merci par avance de votre aide.
    Bien à vous,
    Philippe
    Bonne journée,
    Philippe

  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
    Tu as une liste explicite d'URL ou bien une règle qui permette de les reconnaître ? Pour une redirection au cas par cas, tu écris un .htaccess à la racine de ton site avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteEngine on
     
    RewriteCond %{QUERY_STRING} ^category=home$
    RewriteRule .* / [R=301]
     
    RewriteRule ^home/?$ / [R=301]

    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
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Ah ? Mac. Bonjour et merci de venir une nouvelle fois à mon aide.

    J'avais essayé un truc comme ça avec comme résultat soit une erreur 500 soit une non redirection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{QUERY_STRING} ^category=home?$
    RewriteRule .* / [R=301]
    RewriteCond %{QUERY_STRING} ^home/$
    RewriteRule .* / [R=301]
    ça me paraissait adéquat mais non : comme avec le tien pas de redirection du tout.
    Serait-ce un truc qui bloque au-dessus ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    RewriteEngine On
    #
    RewriteBase /
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]
    RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*) $1 [L]
    #RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteRule ^(.*)/$ $1 [R=301,QSA,L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule tag/(.*)$ index.php?search=$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?category=$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-z_]+)/([^/]+) index.php?category=$1&title=$2 [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-z_]+)/([^/]+)/([^/]+)/ index.php?category=$1&title=$2&commentspage=$3 [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-z0-9_-]+)/([0-9]+)/ index.php?category=$1 articlespage=$2 [L]
    RewriteCond %{HTTP_HOST} !^www\.mysite\.fr$ [NC]
    RewriteRule ^(.*) -http://www.mysite.fr/$1 [QSA,L,R=301]
    #
    RewriteCond %{REQUEST_URI} /$
    RewriteRule ^(.*)/$ $1 [R=301,L]
    ???
    Bonne journée,
    Philippe

  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
    Citation Envoyé par nomasis Voir le message
    ça me paraissait adéquat mais non : comme avec le tien pas de redirection du tout.
    C'est-à-dire ? Quel est le message d'erreur ? Si tu as accès aux logs d'Apache, qu'y a-t-il dans le log d'erreur ?

    J'ai l'impression qu'il y a conflit entre plusieurs règles, en particulier celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
    Tu peux expliquer ce que tu cherches à faire pour chacune de tes règles ? Un moyen simple de voir si les règles fonctionnent bien, c'est de tout commenter et de décommenter les règles une par une et voir à partir de quel moment ça ne fonctionne plus. Comme ça, on identifie les recouvrements et les effets de bord.

    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
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Non... non il n'y a pas de message d'erreur et non encore, je n'ai pas accès aux logs.
    Et comme il n'y a pas d'erreur je n'ai grand chose à désactiver.

    La règle que tu indiques comme pouvant être la source de l'ennui ajoute un trailing slash pour éviter d'avoir des URL en double.
    Les autres instructions sont là pour obtenir des URL SEF. Rien de très exceptionnel.
    Bonne journée,
    Philippe

  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
    Rien de très exceptionnel, peut-être, mais il faut voir pourquoi il n'y a pas redirection. Alors je repropose mon plan de bataille : commenter toutes les règles (temporairement) pour tester d'abord que mes règles fonctionnent. Si c'est bien le cas, réactiver les autres règles une par une pour voir à partir de quand ça ne marche plus : on en déduit un "conflit" entre les différentes règles. Si les règles que je propose ne marchent pas, dis-nous et je testerai de mon côté pour comprendre quel est le problème.

    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
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Okey Mac : je m'y colle dans l'heure qui suit.
    Bonne journée,
    Philippe

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Okey : en placant tes lignes au début des instructions,
    j'obtiens un résultat : -http://www.hiseo.fr/home/
    Et si on demande cette autre : -http://www.hiseo.fr/home,
    Pas tout à fait ceux escomptés mais on progresse, non ?
    Bonne journée,
    Philippe

  9. #9
    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
    Désolé mais je n'ai rien compris : il se passe quoi quand tu fais quoi ?

    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

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Ah ? Tu n'as pas regardé les liens ?
    Dans le 1er cas :
    Moved Permanently
    The document has moved here.

    Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.
    ce qui est amusant c'est que le lien "here" renvoit sur la même page. Ça boucle.
    Dans le second cas : cela déclenche une tentative de hacking.
    Bonne journée,
    Philippe

  11. #11
    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
    J'avais la flemme, on va dire

    Je pense vraiment qu'il y a un problème avec toutes les règles du fichier car si on demande l'URL http://www.hiseo.fr/home, on est redirigé vers http://www.hiseo.fr/http://www.hiseo.fr//, qui me semble bien venir de la règle que j'avais identifiée.

    Ceci dit, ajoute un ,L dans mes RewriteRule, ça pourrait aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{QUERY_STRING} ^category=home$
    RewriteRule .* / [R=301,L]
    
    RewriteRule ^home/?$ / [R=301,L]
    Quant à l'erreur qu'on a en demandant l'URL http://www.hiseo.fr/home/, je ne sais pas d'où ça vient. Apache se plaint d'un ErrorDocument : en utilises-tu ?

    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

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Ceci dit, ajoute un ,L dans mes RewriteRule, ça pourrait aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{QUERY_STRING} ^category=home$
    RewriteRule .* / [R=301,L]
    
    RewriteRule ^home/?$ / [R=301,L]
    ça pourrait... ça pourrait ! Ça peut oui !
    http://www.hiseo.fr/home/ fonctionne très bien : plus de Home !
    Que homme, ce Mac !
    Par contre celle-ci http://www.hiseo.fr/?category=home/ c'est comme chewing-gum sous ma semelle : impossible de s'en débarrasser.
    Citation Envoyé par _Mac_ Voir le message
    Quant à l'erreur qu'on a en demandant l'URL http://www.hiseo.fr/home/, je ne sais pas d'où ça vient. Apache se plaint d'un ErrorDocument : en utilises-tu ?
    Ben, à part une 404, non.
    Bonne journée,
    Philippe

  13. #13
    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, ça boucle, c'est normal, en fait : l'URL /?category=home/ appelle déjà le script / mais avec une query string en plus. Donc le RewriteCond est correct, le RewriteRule fonctionne, mais l'ami Apache, à la redirection, va remettre la query string, donc finalement, on retrouve la même URL qu'au départ.

    Pour s'en sortir, faut en appeler à une méga-gruge des familles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{REQUEST_URI}%{QUERY_STRING} ^/category=home/?$
    RewriteRule .* /? [R=301,L]
    J'ai volontairement modifié le RewriteCond pour ne prendre en compte strictement que l'URL /?category=home, et pas /toto/?category=home.

    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

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    (...)une méga-gruge des familles(...)
    Une méga-gruge des familles.
    Carrément !
    Bon alors même pas peur : allons zy pour la méga-gruge !
    (...)
    quelques minutes plus tard, le même :
    Alors là Monsieur Mac !
    Tu sais que ça fait maintenant 2 reconnaissances éternelles que je te dois ?
    Si t'as besoin un jour d'un truc que je sais faire (okey, il y en a peu, mais on sait jamais), tu sauras où me trouver.
    Merci l'ami : tu m'ôtes encore une sacrée épine du pied.
    Bonne journée,
    Philippe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CakePHP] Redirection vers la page d'accueil
    Par cool dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/02/2010, 11h47
  2. [URL Rewriting] Redirection dossier vers lien
    Par alikharchafi dans le forum Apache
    Réponses: 13
    Dernier message: 16/10/2007, 14h48
  3. la redirection des vers la page jsp
    Par pascal007 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 17/05/2007, 18h45
  4. Réponses: 9
    Dernier message: 01/04/2007, 10h10
  5. [email] Redirection automatique vers une page web
    Par gorderson dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/12/2006, 21h58

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