[URL rewriting] Ajouter un Catch-all
Bonjour,
Sur mon site j'ai quelques pages principales (une dizaine) qui correspondent à des fichiers PHP sur le serveur.
J'ai mis en place l'URL rewriting pour ces quelques pages, de manière à ce qu'on y accède via des URL de ce type :
http://domaine/voiture
http://domaine/machin-truc
Voici la structure des fichiers sur le serveur :
- .htaccess
- wp-index.php
- index.php
- pages
- images
Et le contenu de mon .htaccess :
Code:
1 2 3 4 5 6 7
| RewriteEngine on
RewriteBase /
# Rewrite des URL style /voiture-rapide vers le fichier PHP dédié
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ pages/$1.php [L] |
Maintenant, je voudrais y ajouter un catch all, c'est à dire que toutes les URL qui correspondent à mon pattern [a-zA-Z0-9_-]+ vont être réécrites vers wp-index.php si et seulement si le fichier PHP correspondant à la requête n'existe pas dans /pages/.
Au final, ça devrait faire ça :
http://finalclap.free.fr/TEMP/FORUMS...e-conveuro.png
Pour ça j'ai ajouté une nouvelle règle à la fin de mon .htaccess :
Code:
1 2 3 4
| # Rewrite du reste des URL vers wp-index.php (catch all)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp-index.php [L] |
Ça fonctionne mais j'ai un doute, parfois mon navigateur (Firefox) indique un message d'erreur style redirections infinies...
Je souhaiterais avoir votre avis, est-ce qu'il y a une meilleure solution ?
Merci