Rewriting incorrect

WRInaute discret
Bonjour à tous,

J'ai un souci avec ma tentative de rewriter les résultats d'une requête sql.
Il s'agit d'une recherche dans la base de données avec un mot-clé.
Le lien sur la page php est le suivant :
a href='/resultat1.php?word=$titre'

$titre est donc le nom de l'article.

Je voudrais que la page de résultat s'affiche avec comme adresse :
resultat-nom-de-larticle.html

J'ai donc placé un .htaccess avec le code suivant :
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^resultat-([^_]+)\.html$ \resultat1.php?word=$1 [L]

Mais ça ne marche pas. Ca ne provoque aucune erreur mais ça ne change rien du tout.
Où donc ai-je fais une erreur ? Merci de m'éclairer !
 
WRInaute discret
hello,
tu peux essayer ceci
je me demande si le pb est pas le \ devant la deuxieme partie

Code:
RewriteRule ^resultat-([^_]+)\.html$ resultat1.php?word=$1 [L]
 
WRInaute accro
Code:
RewriteRule ^resultat-(.*).html$ resultat1.php?word=$1 [L]

Pas besoin d'échapper le . et pas besoin du backslash devant resultat1.php ;)

NB: Je trouverais plus sain de générer resultats/termes-de-recherche.html que resultat-termes-de-recherche.html, mais c'est toi qui vois ;)
 
WRInaute discret
Merci pour vos conseils.
J'ai trouvé ce qui ne fonctionnait pas, il fallait aussi changer le lien-source.
J'ai donc remplacé le lien originel par :
a href='resultat-$titre.html'

et placé la ligne suivante sur le htaccess:
RewriteRule resultat-(.+).html$ /resultat1.php?word=$1 [L]

Il subsiste un problème : c'est que le $titre en question est un titre avec des espaces. Donc dans l'adresse rewritée, les espaces sont remplacés par des %20.
Est-il possible de remplacer automatiquement l'espace par des tirets (-) sans toucher au titre écrit dans la base ?
Merci d'avance !
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut