J'ai un problème étrange qui me laisse perplexe. En prélude, je dirai que les expressions rationnelles ne sont pas mon point fort. J'ai besoin de l'avis de la communauté pour faire avancer ce projet.
Si j'ai l'URL suivante :
http://example.com/2015-03-25/
Je veux les faire passer par un fichier PHP. Cette règle fonctionne très bien avec le mod_rewrite suivant :
RewriteRule ^/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]
Mais je veux déplacer le dossier vers :
http://example.com/my_pages/2015-03-25/
Cette règle ne fonctionne pas :
RewriteRule ^/my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]
Cette règle ne fonctionne pas non plus :
RewriteRule ^my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]
Qu'est-ce que je rate ici ? L'aide de la communauté est très appréciée.
UPDATE !
Voici ce que j'ai fait pour résoudre le problème :
RewriteRule ^my_pages\/([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]
vs.
RewriteRule ^/my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]
Maintenant, bizarrement, sous Apache 2.4, la syntaxe correcte était en fait.
RewriteRule ^my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]