aide pour une régle

WRInaute occasionnel
désolé pour le titre peut explicatif...
voici mon probleme, mes anciéne url etais de la forme
auteur.php?recherche=a

maintemant avec la refonte de mon site les la même url donne auteurs.php?recherche=a
attention vous me dirais c'est qu'un S en plus la n'est pas le probleme auteur.php existe et sert à autre chose.

mon htaccess resemble à ça
RewriteRule ^auteur-(.+)\.html$ auteur.php?auteur=$1 [L]
RewriteRule ^auteurs-([a-z]+)\.html$ auteurs.php?recherche=$1 [L]

et je voudrais pour notre amis google entre autre permètre de urlrewriter (cool comme verbe) cette anciéne url
j'ai donc ecrit cette régle
RewriteRule ^auteur\.php?recherche=([a-z]+)$ auteurs-$1.html [R=301,L]

mais ca marche pas...
J'éspère avoir été clair et si quelqu'un à une idée qu'il me la fasse partager ;)
je suis perdus
 
WRInaute passionné
salut enky

As tu essaué en mettant tes regles dans le bon ordre
C'est à dire
Code:
RewriteRule ^auteur\.php?recherche=([a-z]+)$ auteurs-$1.html [R=301,L]
avant les deux autres.
Je vais celà aussi pour récupérer d'ancienne regle, notamment pour deplacer des fichiers reécrit vers un nouveau répertoire

reécrire est un verbe plus cool encore que urlrewriter :wink:
 
WRInaute occasionnel
Et quelque chose comme
Code:
RewriteCond   %{REQUEST_URI} auteur\.php$ 
RewriteRule   ^(.+)$      %{QUERY_STRING}          [C] 
RewriteRule   recherche=([a-z]+) auteurs-$1.html [R=301,L]
?

Il est aussi possible qu'il y ait un conflit avec la deuxième règle.
 
WRInaute occasionnel
en effet cette régle ne fonctionne pas, elle me revoie sur une url à la racine de mon serveur...
 
WRInaute occasionnel
Soit ajouter le chemin devant auteurs-$1.html, soit
Code:
RewriteCond   %{REQUEST_URI} auteur\.php$ 
RewriteRule   auteur\.php      %{QUERY_STRING}          [C] 
RewriteRule   recherche=([a-z]+) auteurs-$1.html [R=301,L]
Je parlais d'un conflit avec ta deuxième règle :wink:
 
WRInaute occasionnel
voila l'erreur que cette régle produit, elle me retourne cette url :
-http://127.0.0.1/d:/apache/www/citation2/auteurs-a.html?recherche=a

biensur impossible à afficher...

merci pour ton aide nikoshr, mais c'est pas encore ça ;)
 
WRInaute occasionnel
D'accord, ca m'apprendra à ne pas tester ce que je propose.
Voilà un exemple qui fonctionne chez moi, sur un Apache 2.0, les règles étant dans le httpd.conf

Code:
RewriteCond   %{REQUEST_URI} auteur\.php$ 
RewriteRule   ^(.*)/auteur\.php$      $1/%{QUERY_STRING}          [C] 
RewriteRule   ^(.*)/recherche=([a-z]+) $1/auteurs-$2.htm? [R=301,L]
 
Discussions similaires
Haut