Le Rewrite ok mais Rewrite + R301.

Discussion dans 'URL Rewriting et .htaccess' créé par jeunepapa, 7 Janvier 2005.

  1. jeunepapa
    jeunepapa WRInaute discret
    Inscrit:
    23 Août 2003
    Messages:
    75
    J'aime reçus:
    0
    Bonjour

    Alors voilà mon problème. Après quelques nuits blanches, j'ai reussi à faire le rewrite d'une partie de mon site. Je sais pas si c'est la meilleure façon (j'ai bien lu et relu de nombreuses pages et forums, mais j'ai pas tout saisi).

    Je vous donne le code que j'employe

    Code:
    RewriteRule ^accouchement.html$ /accouchement.php
    RewriteRule ^accouchement-([0-9]+).html$ /accouchement.php?op=viewarticle&artid=$1 [NC,L]
    RewriteRule ^accouchement-([0-9]+)-([0-9]+).html$ /accouchement.php?op=viewarticle&artid=$1&page=$2 [NC,L]
    RewriteRule ^accouchement-imprimer-([0-9]+).html$ /accouchement.php?op=printpage&artid=$1 [NC,L]
    Deux choses :

    Je voudrais qu'en plus du rewrite, il y ait un redirection r=301, afin de pas me retrouver avec du duplicate content et "facher google". Et là ça marche pas.

    J'ai bien essayé RewriteRule oldpage.php newpage.html, mais quand je n'ai pas une erreur 500, c une erreur 404 qui apparait et en général, ça plante même le reste des rewrite.
    J'ai essayé
    Code:
    RewriteRule accouchement.php accouchement.html
    et ça passe pas
    En mettant le chemin complet avec http non plus...
    Autre chose: pour ameliorer le référencement, j'ai utilisé une page .php par grand theme de mon site. Du coup, j'ai une dizaine de pages differents, qui ont toutes la même structure, mais qui vont toutes nécessiter 4-5 lignes de code pour le rewrtite. Il y a pas moyen de simplifier les choses et obtenir un fichier .htaccess de dimensions "reduites"?

    Si vous pouviez me donner un coup de main, vous m'éviteriez d'y passer de longues nuits blanches encore :)
     
  2. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    1) :wink:
    Code:
    RewriteRule ^accouchement\.html$ /accouchement.php [R=301]
    RewriteRule ^accouchement-([0-9]+)\.html$ /accouchement.php?op=viewarticle&artid=$1 [NC,L] [R=301]
    RewriteRule ^accouchement-([0-9]+)-([0-9]+)\.html$ /accouchement.php?op=viewarticle&artid=$1&page=$2 [NC,L,R=301]
    RewriteRule ^accouchement-imprimer-([0-9]+)\.html$ /accouchement.php?op=printpage&artid=$1 [NC,L,R=301]
    2) donne le titre de toutes les pages, ça peut aider.
    Un truc du genre
    Code:
    RewriteRule ^([a-zA-Z ]+)\.html$ /$1.php [R=301]
    pourrait marcher(première regle)....
     
  3. jeunepapa
    jeunepapa WRInaute discret
    Inscrit:
    23 Août 2003
    Messages:
    75
    J'aime reçus:
    0
    Meri à toi (fésolé de pas revenir plus vite, mais Madame préféré que je m'occupe des bébé en chair et en os plutôt que de mon bébé virtuel :)

    Alors, j'ai essayé avec ta ligne de code, mais j'ai toujours une errur 404

    J'ai essayé

    Code:
    RewriteRule ^humeurs.php?op=viewarticle&artid=([0-9]+)$ /humeurs-$1.html [R=301]
    J'ai plus d'erreur 404, mais la page n'est pas redirigée vers la nouvelle. Amoins que je n'ai rien compris au fonctionnement de la chose. SI la redirection marche, c'est bien humeurs-$1.html et non pas humeurs.php?op=viewarticle&artid= qui doit apparaitre dena la barred d'adress de IE, juste? J'ai essayé de jetter un coup d'oeil au code source généré, mais nullepart il apparait une redirection... COmment savoir si ça marche avec certitude?
    L'outil de WRI me donne cet header là :
    Pour le titre j'ay avais pensé et je vais m'y mettre aussi (il faut que je trouve le moyen de passer la variable sans trop de problème). Mais j'osais pas demander tout le code en même temps :)
     
  4. jeunepapa
    jeunepapa WRInaute discret
    Inscrit:
    23 Août 2003
    Messages:
    75
    J'aime reçus:
    0
    Alors, je progresse...
    Avec
    Code:
    RedirectPermanent /humeurs.php http://www.jeunepapa.com/humeurs.html
    idem avec

    Code:
    RedirectMatch 301 /humeurs.php http://www.jeunepapa.com/humeurs.html
    L'outil wri me donen des infos qui me parraissent correctes

    Mais cette nouvelle addresse retourne une errur 404 :(
    En fait j'ai l'impression, vu le temps de réponse, que ça part en boucle, et que ça ne donen une 404 par "timeout"

    Une idée?
     
  5. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    Oublie mon premier message.... :oops:

    Je comprends pas trop...
    T'as des pages du type :

    humeurs.php?op=viewarticle&artid=xxx

    que te veux rewriter en :

    /humeurs-xxx.html

    il faut faire

    Code:
    RewriteRule ^humeurs-([0-9]+)\.html$ /humeurs.php?op=viewarticle&artid=$1 [QSA,L]
    L pour dire qu'aprés il faut pas réécrire...
    QSA pour transmettre les eventuelles variables collées à l'url

    sans mettre de 301.
    Ce processus de rewrite est totalement transparent pour le client. Il est effectué sur le serveur.

    (pas de redirection, tu dois avoir un 200 ok).

    Si j'ai bien compris ton problème, google connait tes anciennes pages et tu voudrais les reditiger vers les nouvelles en 301...

    il faut faire :

    Code:
    RewriteRule ^humeurs.php?op=viewarticle&artid=([0-9]+)$ /humeurs-$1.html [R=301,L]
    R=301 pour la redirection
    L pour dire qu'il ne faut pas réécrire apres..

    Visivlement tu réécrivais une url en l'autre en l'une, en l'autre....(la boucle infrenale quoi....
     
  6. jeunepapa
    jeunepapa WRInaute discret
    Inscrit:
    23 Août 2003
    Messages:
    75
    J'aime reçus:
    0
    Ca marche toujours pas :(
    A n'y rien comrpendre
    Bon, la dodo, demain je regarderais ça à nouveau.
    En tout cas merci de ton aide
     
Chargement...
Similar Threads - Rewrite Rewrite R301 Forum Date
Rewrite url manuel URL Rewriting et .htaccess 19 Avril 2020
RegExp du Rewrite URL Rewriting et .htaccess 19 Décembre 2019
Ne prendre qu'une partie d'un QueryString dans une regex RewriteCond URL Rewriting et .htaccess 9 Décembre 2019
Astuce RewriteMap : convertir un .dbm.pag en txt ? Débuter en référencement 8 Juillet 2019
rewriteRule sur wamp erreur 404 URL Rewriting et .htaccess 20 Avril 2019
URL Rewriting : difficultés avec RewriteCond ? URL Rewriting et .htaccess 5 Décembre 2018
Problème avec ma ligne rewrite URL Rewriting et .htaccess 20 Juin 2018
Déplacer les RewriteRule du .htaccess vers le vhost URL Rewriting et .htaccess 16 Janvier 2018
Rewrite URL comment faire Débuter en référencement 17 Septembre 2017
Rewrite repertoire virtuel -> erreur 404 suite à maj serveur URL Rewriting et .htaccess 24 Juin 2017
aide pour écriture rewritecond URL Rewriting et .htaccess 6 Avril 2017
RewriteRule avec redirection transparente URL Rewriting et .htaccess 21 Janvier 2017
Comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url URL Rewriting et .htaccess 26 Décembre 2016
Pages profondes non redirigées (.htaccess RewriteRule) Débuter en référencement 5 Décembre 2016
RewriteRule : afficher un $_GET dans une URL réecrite Développement d'un site Web ou d'une appli mobile 12 Novembre 2016
problème Rewrite URL Rewriting et .htaccess 3 Novembre 2016
Apache => Ngnix - Réécriture RewriteCond URL Rewriting et .htaccess 1 Février 2016
Rewritecond rediriger téléphones mais pas les tablettes URL Rewriting et .htaccess 27 Juillet 2015
Instalation et rewrite wordpress chez ovh Administration d'un site Web 11 Juillet 2015
Rewrite rules en HTTPS Crawl et indexation Google, sitemaps 29 Avril 2015