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 301 et .htaccess [Fait]


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 55
    Par défaut Redirection 301 et .htaccess
    Bonjour,

    J'ai réécris dernièrement deux urls et j'aimerais effectuer une redirection 301 des anciennes pages vers les nouvelles, mais en lisant certains tutoriels en ligne je n'arrive pas à comprendre comment m'y prendre.

    Voici ce que j'ai dans mon .htaccess concernant les urls en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^tags/([0-9]+)/([0-9a-zA-Z-]+)\.html$ index.php?page=tag&t=$2&p=$1 [L]
    RewriteRule ^auteur/([0-9]+)/(.*)\.html$ index.php?page=author&author_name=$2&p=$1 [L]
    Pouvez vous m'aider SVP ?

    Merci d'avance.

    EDIT:
    Je viens d'essayer cette expression mais ça me renvois une erreur 500:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^index.php?page=tag&t=([0-9a-zA-Z-]+)&p=([0-9]+) 
    tags/$2/$1.html [R=301]
    J'ai suivi ce tutoriel, du moins ce que j'ai pu comprendre mais ça ne fonctionne pas:
    http://www.lejournaldublog.com/comme...direction-301/

  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
    Par défaut
    Y a déjà eu une question du même genre, je crois sur le forum : ici

    Vu que comme ça, mod_rewrite ne sait pas faire la différence entre une réécriture interne (de /tags/... vers index.php) et un accès direct à l'URL index.php, l'idée c'est d'ajouter un paramètre d'URL supplémentaire quand tu fais la réécriture que tu donnes (de /tags/... vers index.php) pour marquer les bonnes redirections vers index.php faites en interne, puis d'ajouter une condition pour faire la réécriture que si ce paramètre d'URL n'existe pas.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 55
    Par défaut
    Merci pour ta réponse. Même si je n'ai pas bien compris ce que je dois faire.
    En fait je voudrais faire comme sur ce site :
    http://www.lejournaldublog.com/comme...direction-301/
    càd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^article-([0-9]*).php
     archives-$1.htm [R=301]
    Moi j'ai fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^index.php?page=tag&t=([0-9a-zA-Z-]+)&p=([0-9]+) 
    tags/$2/$1.html [R=301]
    Mais ça me fais une erreur 500 !!

  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
    Par défaut
    Tu ne peux pas travailler directement sur la query string dans un rewrite rule, il faut faire un truc avant. Cf. cette discussion.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 55
    Par défaut
    Désolé de te décevoir mais je n'y comprend pas grand chose c'est trop vague comme explication, j'ai trouvé ce tutoriel qui parle aussi de ce que je veux faire mais encore une fois je n'y comprends rien:
    http://www.apache-mod-rewrite.fr/redirection-301

    Pourrait-tu m'aider à écrire cette redirection 301?

    Sincèrement, j'ai essayé mais hélas en vain.

  6. #6
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 55
    Par défaut
    Bon j'y suis presque, en fait quand je fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule (.*) $1///%{QUERY_STRING} [C]
    RewriteRule ^index.php///page=tag&t=([0-9a-zA-Z-]+)&p=([0-9]+)$ tags/$2/$1.html [R=301,L]
    Et que je visite la page index?page=tag&t=formation&p=1

    Je suis renvoyé vers la page :
    h**p://www.articlesenligne.com/srv/www/htdocs/web68/html/tags/1/formation.html?page=tag&t=formation&p=1

Discussions similaires

  1. Redirection 301 en .htaccess
    Par lelectronique.com dans le forum Apache
    Réponses: 8
    Dernier message: 17/01/2013, 07h58
  2. [.htaccess] Redirection 301, framework cakephp
    Par Blinkers dans le forum Apache
    Réponses: 3
    Dernier message: 19/03/2012, 10h54
  3. Réponses: 10
    Dernier message: 05/11/2011, 23h20
  4. htaccess et redirection 301
    Par petitours dans le forum Langages serveur
    Réponses: 0
    Dernier message: 14/04/2011, 20h28
  5. redirection 301 (htaccess)
    Par DevStage dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 05/01/2010, 17h21

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