Redirection 301 et réécriture d'url récalcitrantes

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

3bida
WRInaute discret
WRInaute discret
 
Messages: 86
Inscription: 6 Juin 2007

Redirection 301 et réécriture d'url récalcitrantes

Message le Mar Mai 26, 2009 17:09

Bonjour,

Je suis en train d'apporter quelques modifications à mon site dans l'optique d'avoir un meilleur référencement de la part des moteurs de recherche, notamment un certain nombre de pages qui sont écrites sous cette forme:

h**p://www.monsite.com/?pg=3&page=category&category_id=305
A noter: l'absence de index.php

J'aimerai réécrire cette url sous cette forme:
h**p://www.monsite.com/category305-3.html

Or quand je fais ceci:

Code: Tout sélectionner
#redirection
RewriteCond %{QUERY_STRING} ^pg=([0-9]+)&page=category&category_id=([0-9]+)$
RewriteRule ^index\.php$ /category%2-%1.html? [R=301,L]

#réécriture
RewriteRule ^category([0-9]+)-([0-9]+)\.html$ /?pg=$1&page=category&category_id=$2&stop [L]


Cela ne marche pas et en plus la page category305-3.html m'envoi vers la page category302.html (305-3 = 302), allez comprendre pourquoi !!

Quelqu'un pourrait-il prendre quelques minutes de son temps afin de ma'ider à regler ce petit problème.

Merci d'avance.
Bruno

EDIT: Je viens de comprendre pourquoi L'url réécrit renvoi vers une autre page. En fait c'est parceque "305-3" n'est pas traduit par category_id=305 et pg=3 mais comme une variable $_GET['category_id'] = 305-3; qui sera traitée par la suite.
Donc l'url rewrting ne fonctionne pas.

f123b
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 7 Juin 2009

Re: Redirection 301 et réécriture d'url récalcitrantes

Message le Dim Juin 07, 2009 23:14

bonsoir, j'ai un problème de redirection 301 dans le htaccess:
j'ai des urls de cette forme: search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4
j'utilise la règle suivante dans le htaccess:

Code: Tout sélectionner
RewriteEngine On
RewriteRule (.*)-(.*)-(.*)-(.*)\.html$  /search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L]


pas de problème les url sont bien réécrites,
par contre ces données proviennent d'un formulaire qui utilise la méthode get et qui appelle le fichier search.php.
Comment faire sans utiliser de header location ou de javascript, donc avec le htaccess pour avoir une redirection 301 quand on soumet le formulaire?

j'ai essayer des règles de ce style:

Code: Tout sélectionner
RedirectPermanent /search.php?keyword=(.*)&categorie=(.*)&page=(.*)&plusmoins=(.*) /$1-$2-$3-$4\.html

mais ca ne fonctionne pas (boucle infini).

peut être en utilisant RewriteCond %{QUERY_STRING} ... mais j'arrive pas à formuler la syntaxe.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité