Url rewritting et erreur 404

WRInaute discret
Je viens de faire une migration de Drupal vers wp mais j'aimerais garder le référencement et donc les url d'origine.
Newbie dans l'url rewritting, j'ai suivi quelques tutos pour me lancer dans l'affaire.

J'ai fais un premier test sur 2 url, mais j'obtiens une belle erreur 404.

Voici le code que j'ai utilisé

Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# Réécriture url
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^liste-de-mots$  /dictionnaire
RewriteRule ^prenoms$  /dictionnaire/category/prenoms [L]
</IfModule>
# Réécriture url

Je pense qu'il y a peut être un conflit entre les régles de réécritures de wp et les miennes. Comment puis je faire pour contourner ce problème ?

Merci pour votre aide
 
WRInaute discret
senos a dit:
Je pense qu'il y a peut être un conflit entre les régles de réécritures de wp et les miennes. Comment puis je faire pour contourner ce problème ?

En effet, c'est bien le cas. Vos nouvelles règles ne sont jamais évaluées car celle de Wordpress prend TOUT. Il faut les placer avant la règle générique de Wordpress qui redirige tout vers l'index.

Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Vos propres règles ici

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

Toujours bien faire attention à l'ordre des règles en fonction de leur priorité (ce qu'elles "match") sinon certaines ne seront jamais évaluées (comme dans votre cas).
 
Discussions similaires
Haut