web-dev-qa-db-fra.com

Réécriture d'URL spécifiques avec les paramètres dans wordpress

Je suis en train de réécrire un site Web qui était à l'origine dans Drupal et qui a des URL très spécifiques. Donc, je dois réécrire toutes les URL d'origine dans le système wordpress + les paramètres de mes plugins écrits par moi-même:

J'ai besoin de tirer ceci:

http://www.domain.com/param1/param2/param3/param4/param5/detail

Pour ça:

http://www.domain.com/index.php/detail/?param=param5

Si la dernière partie de l'URL = "détail QUELQUE CHOSE"

J'ai essayé ceci (et de nombreuses variantes):

RewriteRule ^/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([detail_]+.*)/?  \
  /wp1/index.php/detail/?gref=$5    [PT]

placé devant le code Wordpress dans .htaccess, mais je n’obtiens que ma page Wordpress 404.

Toute aide est appréciée !!!!!

MODIFIER:

Full .htaccess ajouté:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp1/
RewriteRule ^/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([detail_]+.*)/?  \
/index.php/detail/?gref=$5    [PT]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp1/index.php [L]
</IfModule>
# END WordPress
2
Borniet

Sur la base des informations contenues dans les commentaires, voici ma réponse préliminaire, qui devrait aider à résoudre le problème plutôt qu’un correctif, car je ne vois pas assez d’informations à ce sujet. Ce n’est pas la faute de l’OP, le débogage de réécriture n’est que pénible.

La règle de réécriture passe évidemment quelque chose à WP mais WP n'en est pas satisfaite.

Ce que je ferais, c’est d’ajouter du code de débogage au code 404.php de votre thème qui peut vous montrer l’URL appelée ainsi que l’URL que WP ne parvient pas à analyser. Cela vous permettra au moins de voir si votre règle de réécriture répond à vos attentes.

Deux autres points cependant:

1 - Si vous ne déplacez pas votre propre code htaccess en dehors des commandes BEGIN et END de WP, vos modifications seront écrasées si jamais votre site effectue une sauvegarde complète de ses réécritures.

2 - Il peut être considéré comme une meilleure pratique de coder les règles de réécriture de votre ancienne structure d’URL dans WP en tant que plug-in au lieu de réécrire dans htaccess.

1
Andy Macaulay-Brook