Redirection de paramètre dans l'URL

Nouveau WRInaute
Bonsoir,

Je me casse la tête depuis quelques jours déjà et je ne trouve pas de solution exacte donc je viens faire appel à vous.

Je développe un nouveau site (sous WP) et j'utilise des paramètres dans les URL pour appeler certains fichiers dans le but d'obtenir une liste d'articles ou d'images par exemple. Jusque la tout fonctionne correctement mais je souhaiterais proposer une adresse plus propre.

Ce que j'ai actuellement : http://monsite.fr/fiches-jeux/nom-du-jeu?filtre=test
En gras ce sont les champs classiques qui ne doivent pas changer.

Je souhaiterais avoir des adresses du style : http://monsite.fr/fiches-jeux/nom-du-jeu/test/

A noter que "nom-du-jeu" doit être redirigé dynamiquement car ma liste étant très grande, je ne souhaite par aller dans mon htaccess sans arrêt pour ajouter une adresse.

Merci d'avance pour l'aide apportée.
 
WRInaute discret
J'ai déjà eu au moins un cas sur ce forum où WordPress gérait apparemment lui-même les redirections en fonction des paramètres de configuration accessibles à l'admin. Donc, sois certains de vérifier si tu ne peux pas passer par là avant toute chose, histoire de ne pas avoir des incohérences entre WP et ton htaccess.

Néanmoins, si tu veux la règle de réécriture qui fera ton bonheur...
Code:
RewriteEngine on
RewriteRule     ^fiches-jeux/(.+)/(.+)/$     fiches-jeux/$1?filtre=$2 [L]

Par contre, si ton ancien format d'url est déjà indexé dans les moteurs de recherche, il faut empêcher l'accès désormais afin d'éviter le duplicate content. Tu risques de rencontrer une boucle de redirection en faisant celà. Je t'invite donc à jeter un oeil à mon tutoriel à ce sujet: https://www.webrankinfo.com/forum/t/tutoriel-eviter-les-boucles-de-redirection.168006/
 
Nouveau WRInaute
Merci pour la règle d'écriture. A peine postée sur le forum que je viens de la poser dans mon htaccess.

Malheureusement, le code ne donne rien. Je l'ai placé avant et après la boucle WP du htaccess au cas où l'un de deux fonctionnerait mais la redirection ne se fait pas (idem en testant la page manuellement avec l'URL attendue). WordPress s'avère très pratique depuis des années que je l'utilise sauf sur ce point sur lequel je bloque.
 
WRInaute discret
Peux-tu afficher ton htaccess ?
L'idéal serait de placer la règle que je t'ai donnée juste après le "RewriteEngine on" pour passer devant les règles WP.
 
Nouveau WRInaute
Aucun problème, le voici :

Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule     ^fiches-jeux/(.+)/(.+)/$     fiches-jeux/$1?filtre=$2 [L]
RewriteBase /ppsv/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /ppsv/index.php [L]
</IfModule>

# END WordPress

Sachant que c'est du local, je me suis permis d'ajouter "/ppsv/" dans le RewriteRule pour essayer mais toujours rien.
Idem en plaçant mon RewriteRule sous le "RewriteRule ^index\.php$ - [L]".
 
WRInaute discret
Ton "RewriteBase" défini la base de réécriture, tu n'as donc pas besoin de le réécrire dans tes règles.
Comme ceci:

Code:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /ppsv

RewriteRule ^fiches-jeux/(.+)/(.+)/$   fiches-jeux/$1?filtre=$2 [L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>

Si tu essayes d'accéder à http://localhost/ppsv/fiches-jeux/un-nom-de-jeu/test/ tu es logiquement censé avoir le même contenu que http://localhost/ppsv/fiches-jeux/un-nom-de-jeu?filtre=test

Néanmoins, j'ai pu constater que bon nombre de personnes faisaient face à des problèmes en réécrivant les urls via htaccess sous des cms tels que WordPress car il est normalement prévu pour le gérer en interne (via la configuration accessible à l'admin). Tu devrais donc pouvoir le paramétrer sans avoir besoin du htaccess (à vérifier)
 
Nouveau WRInaute
Effectivement, WordPress doit le gérer différemment car cela ne fonctionne toujours pas.

En interne, je n'ai aucun module qui permet de le gérer nativement. On peut gérer l'écriture des URL via l'interface de WordPress mais uniquement ceux des articles en ajoutant un ID, la date, la catégorie ou autres mais rien de très poussé (et donc rien pour mon besoin).
 
WRInaute discret
Crunch a dit:
Effectivement, WordPress doit le gérer différemment car cela ne fonctionne toujours pas.

"Ca ne fonctionne pas" = ... ?

Quelle est l'erreur obtenue lorsque tu essayes d'accéder à l'url au format réécrit ?
Boucle de redirection ? bon/mauvais contenu ? Url correcte dans la barre du browser ?
Décris moi le plus possible afin de trouver une solution à ton problème.
 
Nouveau WRInaute
Dans la barre d'adresse, quand je passe par mon paramètre, rien ne se passe de spécial : j'obtiens la page avec le contenu désiré mais avec le paramètre dans l'URL donc comme si je n'avais fait aucune modification.

Quand je passe avec l'URL désirée, WordPress ne trouve rien et me renvoie vers une 404. J'ai essayé avec différents paramètres "au cas où" mais cela n'a rien changé bien évidemment.
 
WRInaute discret
Crunch a dit:
Dans la barre d'adresse, quand je passe par mon paramètre, rien ne se passe de spécial : j'obtiens la page avec le contenu désiré mais avec le paramètre dans l'URL donc comme si je n'avais fait aucune modification.

Ceci est tout à fait normal car la règle que je t'ai donnée ne remplacera pas http://localhost/ppsv/fiches-jeux/un-nom-de-jeu?filtre=test en http://localhost/ppsv/fiches-jeux/un-nom-de-jeu/test/.

En fait, l'utilité de cette règle est que si tu essayes d'accéder à la nouvelle url (http://localhost/ppsv/fiches-jeux/un-nom-de-jeu/test/), elle va pointer sur l'ancien contenu et tu es donc censé obtenir le même contenu qu'à http://localhost/ppsv/fiches-jeux/un-nom-de-jeu?filtre=test

Crunch a dit:
Quand je passe avec l'URL désirée, WordPress ne trouve rien et me renvoie vers une 404. J'ai essayé avec différents paramètres "au cas où" mais cela n'a rien changé bien évidemment.

Par contre, ceci est embêtant et devrait fonctionner.
 
Nouveau WRInaute
Je te confirme que WordPress ne prend pas en compte cette redirection comme je l'avais testé.

Je ne pense pas que cela soit lié au local, ça m'étonnerait fortement donc bon, il doit exister une autre méthode pour WP.
 
Discussions similaires
Haut